2016-06-15 41 views
1

我對nodejs的socket.io應用程序有問題。我在我的應用程序中有幾個瀏覽器窗口,它們都連接到nodejs。應用程序還不是一個重載的應用程序。有時候會有一些東西出現在socket.io中,因此瀏覽器上的.emit()命令不會被執行(即服務器看不到它)。 nodejs console/logs顯示沒有崩潰/異常。應用程序停留在這種阻塞狀態約30秒,然後恢復正確的工作。瀏覽器控制檯日誌顯示了一個socketio請求的400錯誤。在xhr-polling模式下與socket.io掛起的連接

任何想法,爲什麼發生這種情況,以及如何治癒/診斷它?

回答

0

我發現了這個問題的根本原因。 Chrome有6個開放HTTP請求的限制。所以你不能再有6個標籤與服務器進行socketio XHR輪詢交換。第7個選項卡的行爲就好像服務器不可用一樣。

減少連接數,或可能使用websocket模式,它工作正常。