为什么我们需要诸如Pusher和Socket.io之类的产品来建立websocket连接?

vue.js Vue.js

老丝Tony

2020-03-16

我最近在研究Laravel聊天练习应用程序时,一直在阅读有关Websocket和SaaS的信息,例如Pusher和Socket.io。我不明白的是,为什么我们需要外部软件来建立websocket连接?像Laravel这样的服务器代码不能直接与Vue.js这样的前端建立连接吗?为什么它必须经过像Pusher和Socket.io这样的中间人?对不起,菜鸟问题。

第1723篇《为什么我们需要诸如Pusher和Socket.io之类的产品来建立websocket连接?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

1个回答
Tony宝儿 2020.03.16

简短的答案?您不必使用它们。亲自编写自己的服务器和客户端Websocket实现。

更长的答案。

为什么要使用Laravel?我可以直接使用PHP来完成所有这些工作。

为什么要使用Vue?我可以用香草javascript做所有这些事情。

我们之所以使用库和框架,是因为它们抽象出了实现的细节,并使构建产品变得更加容易。他们处理您根本不会想到的情况,甚至您甚至不知道自己不知道的事情,因为它们被成千上万的开发人员所使用,并且他们遇到和修复的所有知识和错误都融入了实施。

这是软件工程,代码重用的标志之一不要重复自己,也不必编写任何不必要的软件。它使您可以专注于构建满足特定需求的解决方案,而不必在构建解决方案之前专注于构建一堆基础架构。

我从未使用过Pusher,但是看起来,是的,它是SaaS产品。但是Socket.io是开源的

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android