Socket.IO在HTTP请求后出现无效的帧头。

3
我有一个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的方式。
const rooms = io.connect(
    'http://localhost:3000/rooms',
    { transports: ['websocket'] }
);
1个回答

0

我通过将我的堆栈切换到nestjs来解决了这个问题。 问题可能是因为websocket和rest api都在同一个端口上运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接