我有一个Nodejs Express Rest API,我想添加WebSocket支持。
我在同一项目中使用这个库和Socket.IO来使用WebSocket(我不确定是否重要),并使用这个示例来实现API部分。
我的WebSockets在没有Rest API的情况下按预期工作,但是只要我向API发出HTTP请求,WebSocket连接就会失败,并显示以下错误: “WebSocket connection to 'ws://localhost:3000/socket.io/?EIO=3& transport = websocket' failed:Invalid frame header”
已经建立的连接仍然可以正常工作。此问题将持续到我重新启动服务器。 我找到了很多不同可能导致此错误的原因,但没有真正帮助我的。
编辑: 这是我连接WebSocket的方式。
我的WebSockets在没有Rest API的情况下按预期工作,但是只要我向API发出HTTP请求,WebSocket连接就会失败,并显示以下错误: “WebSocket connection to 'ws://localhost:3000/socket.io/?EIO=3& transport = websocket' failed:Invalid frame header”
已经建立的连接仍然可以正常工作。此问题将持续到我重新启动服务器。 我找到了很多不同可能导致此错误的原因,但没有真正帮助我的。
编辑: 这是我连接WebSocket的方式。
const rooms = io.connect(
'http://localhost:3000/rooms',
{ transports: ['websocket'] }
);