Skip to content

socket

socket.io踩坑

想要在项目中使用长连接,后端用的是egg-socket.io,前端也要使用socket.io。刚开始使用vue-socket.io挺好的,但是由于后端命名空间不止一个,不知道该怎么去在框架内定义了。于是我在前端换成了原生的socket.io-client,换了之后发现怎么也连不上,一连就断,connect事件也没有响应。我在postman中测试,发现前后端连接版本不通,前端项目替换为2的版本和后端保持一致,连接成功!

socket.io暂时只发现了后端跨域,未发现浏览器跨域。

socket、websocket、socket.io

socket是抽象层

websocket是协议、基础,是html5标准的一部分,解决了ajax轮询等效率问题。http对应ws,https对应wss。

socket.io是websocket基于node.js的包,更高级。类似的还有libwebsocket.org(基于c)、ws4py(基于python)、Websocket++(基于c++)

鄂ICP备19018246号-1