我使用https://github.com/gorilla/websocket在 go 中编写了一个 websocket 服务器。在客户端,前端团队想要使用 Socket.io,但无法正常工作。使用普通的 websockets 一切正常。我对 Socket.io 的了解不多,只是我在互联网上阅读的内容,并且我没有找到任何决定性和最近的答案。有没有可能让 Socket.io 与普通的 websocket 服务器一起工作?Socket.IO 客户端错误:超时。Socket.IO 客户端代码: var token = "valid_token"; var socket = io( 'ws://localhost:6060', { transports: ['websocket'], path: '/ws/dispatchers', query: { token: token }, } ); socket.on('connect_error', (error) => { console.log("------connect_error------"); console.log(error); }); socket.on('connect_timeout', (timeout) => { console.log("------timeout-----"); console.log(timeout); }); socket.on('connect', function(){ console.log("---------connect---------"); }); socket.on('event', function(data){ console.log(data) }); socket.on('disconnect', function(){ console.log("---------disconnect---------") }); socket.on('error', function(err){ console.log("--------error------------"); console.log(err) }); socket.on('ping', () => { console.log("--------ping------------"); }); socket.on('pong', (latency) => { console.log("--------pong------------"); });后端错误:websocket: close 1005 (no status)后端代码,同: https ://github.com/gorilla/websocket/tree/master/examples/chat
1 回答
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
来自 Socket.io 文档
什么 Socket.IO 不是 Socket.IO 不是 WebSocket 实现。尽管 Socket.IO 确实尽可能使用 WebSocket 作为传输,但它会为每个数据包添加一些元数据:数据包类型、命名空间和需要消息确认时的数据包 ID。这就是为什么 WebSocket 客户端将无法成功连接到 Socket.IO 服务器,而 Socket.IO 客户端也将无法连接到 WebSocket 服务器。请在此处查看协议规范。
- 1 回答
- 0 关注
- 289 浏览
添加回答
举报
0/150
提交
取消