我最近在研究Laravel聊天练习应用程序时,一直在阅读有关Websocket和SaaS的信息,例如Pusher和Socket.io。我不明白的是,为什么我们需要外部软件来建立websocket连接?像Laravel这样的服务器代码不能直接与Vue.js这样的前端建立连接吗?为什么它必须经过像Pusher和Socket.io这样的中间人?对不起,菜鸟问题。
我最近在研究Laravel聊天练习应用程序时,一直在阅读有关Websocket和SaaS的信息,例如Pusher和Socket.io。我不明白的是,为什么我们需要外部软件来建立websocket连接?像Laravel这样的服务器代码不能直接与Vue.js这样的前端建立连接吗?为什么它必须经过像Pusher和Socket.io这样的中间人?对不起,菜鸟问题。
简短的答案?您不必使用它们。亲自编写自己的服务器和客户端Websocket实现。
更长的答案。
为什么要使用Laravel?我可以直接使用PHP来完成所有这些工作。
为什么要使用Vue?我可以用香草javascript做所有这些事情。
我们之所以使用库和框架,是因为它们抽象出了实现的细节,并使构建产品变得更加容易。他们处理您根本不会想到的情况,甚至您甚至不知道自己不知道的事情,因为它们被成千上万的开发人员所使用,并且他们遇到和修复的所有知识和错误都融入了实施。
这是软件工程,代码重用的标志之一。不要重复自己,也不必编写任何不必要的软件。它使您可以专注于构建满足特定需求的解决方案,而不必在构建解决方案之前专注于构建一堆基础架构。
我从未使用过Pusher,但是看起来,是的,它是SaaS产品。但是Socket.io是开源的。