Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Client Socket.io持续断开并重新连接到websocket_Javascript_Node.js_Websocket_Socket.io - Fatal编程技术网

Javascript Client Socket.io持续断开并重新连接到websocket

Javascript Client Socket.io持续断开并重新连接到websocket,javascript,node.js,websocket,socket.io,Javascript,Node.js,Websocket,Socket.io,我通过Socket.io 1.3.4(通过WebSocket)连接到NodeJS服务器,客户端Socket.io触发“断开连接”事件5-30秒 每次“断开”->“重新连接”->“重新连接”迭代大约需要2秒。我通过电缆连接到非常稳定的网络。服务器托管在AWS上 有时我的Wi-Fi连接不好,但根本没有“断开”事件 如何调试此问题 我怎样才能看出谁有罪——服务器还是客户端 socket.io如何理解是时候断开连接了?无法从他们的代码中理解这一点 编辑。Socket.io配置: io = require

我通过Socket.io 1.3.4(通过WebSocket)连接到NodeJS服务器,客户端Socket.io触发“断开连接”事件5-30秒

每次“断开”->“重新连接”->“重新连接”迭代大约需要2秒。我通过电缆连接到非常稳定的网络。服务器托管在AWS上

有时我的Wi-Fi连接不好,但根本没有“断开”事件

  • 如何调试此问题

  • 我怎样才能看出谁有罪——服务器还是客户端

  • socket.io如何理解是时候断开连接了?无法从他们的代码中理解这一点

  • 编辑。Socket.io配置:

    io = require('socket.io')(server, { 
          log: false
        , "close timeout": 60
        , "heartbeat timeout": 60
        , "heartbeat interval": 20
    })
    

    我在节点前面运行nginx时遇到了类似的问题,这是因为
    proxy\u read\u timeout
    proxy\u send\u timeout
    设置得太低。Socket.io每25秒发送一次心跳,因此请确保将这些超时设置为大于25秒。

    您在AWS上使用过负载平衡器吗?对我来说,nginx也在中断websockets。我使用dotcloud作为云主机。他们肯定会使用。我会问他们的,谢谢你们的回复。请查看我的配置(在问题中,我应该更改哪个值?@igorpavlov如果您无法更改nginx设置,您可以尝试将socket.io心跳间隔减少到10秒,将超时减少到30秒。将尝试让您知道我是否将关闭超时和心跳超时都更改为30秒?你能提供对所有3个设置的建议更改吗?无论如何,这没有帮助。仍然出现断开连接。还有其他想法吗?