【发布时间】:2019-04-23 03:13:20
【问题描述】:
我有一个 nodejs express Rest API,我想添加 websocket 支持。 我在 api 部分使用this 样板,并添加了this library 和 socket.io 以在同一个项目中使用 websockets(我不确定它是否重要)。
我的 websocket 在没有 Rest API 的情况下按预期工作,但是一旦我向我的 API 发出 http 请求,与 websocket 的连接就会失败,并出现以下错误:
到 'ws://localhost:3000/socket.io/?EIO=3&transport=websocket' 的 WebSocket 连接失败:帧头无效
虽然已经建立的连接仍然有效。 这个问题一直存在,直到我重新启动我的服务器。
我发现了很多不同的可能导致此错误的原因,但没有一个对我有真正帮助。
编辑: 这就是我连接到 websockets 的方式。
const rooms = io.connect(
'http://localhost:3000/rooms',
{ transports: ['websocket'] }
);
【问题讨论】:
标签: javascript node.js websocket socket.io