Socket.io for NodeJS doesn't seem to work as a websocket server
出于某种原因,socket.io总是回退到长轮询,如果我强制使用websocket传输层,它将会出错:
failed:在收到握手响应之前关闭连接
正确的端口是开放的 . 我正在使用socket.io中的chat example . 我在http://jmi.io:3000上设置了服务器 . 正如你所看到的,它可以很好地使用一个漂亮的长轮询通道,但现在尝试从websocket客户端的websocket连接和...
与'ws:// jmi:3000 /'的WebSocket连接失败:在收到握手响应之前连接已关闭
我只有一个节点单线程,并且具有与聊天示例repo完全相同的package.json .
{
"name": "socket-chat-example",
"version": "0.0.1",
"description": "my first socket.io app",
"dependencies": {
"express": "4.3.1",
"socket.io": "1.2.0"
}
}
谢谢您的帮助
4 回答
我有完全相同的问题,因为我两次定义'io' . 仔细检查您在代码中定义io的位置,并确保没有两次定义变量io .
我做错了什么的例子:
修复问题的示例:
在我的情况下,问题是我通过
browser-sync
代理服务器所以这将失败,但在 生产环境 中它工作正常 .
与@Lucas Klaassen回答的内容略有关系:我有以下内容:
改变最后一行是修正它的原因:
以下是我们的一个工作项目的完整工作示例:
translated from Medium