在xhr-polling模式下与socket.io的连接停止

时间:2016-06-15 18:19:12

标签: javascript node.js socket.io xmlhttprequest

我对nodejs的socket.io应用程序有问题。我的应用程序中有几个浏览器窗口,所有这些窗口都连接到nodejs。应用程序还不是一个重载应用程序。有时候socket.io有些东西,所以浏览器上的.emit()命令没有被执行(即服务器没有看到它)。 nodejs console / logs显示没有崩溃/异常。应用程序在此阻塞状态下保持约30秒,然后恢复正常工作。浏览器控制台日志显示400个错误,其中一个socketio请求。

为什么会发生这种情况以及如何治愈/诊断它的任何想法?

1 个答案:

答案 0 :(得分:0)

我找到了这个问题的根本原因。 Chrome限制为6个开放的HTTP请求。所以你不能有超过6个标签与服务器进行socketio XHR轮询交换。第7个选项卡的行为就像服务器不可用一样。

减少连接数,或者可以使用websocket模式,它工作正常。