我意識到這是一個老問題,但我一直有一些與套接字Io重新連接的麻煩,並發現這個帖子在搜索結果高,所以認爲我會貢獻。嘗試究竟哪些事件是使用下面的代碼調試射擊:
# coffeescript. compile if you're writing javascript, obviously.
socket.on 'connect',-> console.log 'connected'
socket.on 'reconnect',-> console.log 'reconnect'
socket.on 'connecting',-> console.log 'connecting'
socket.on 'reconnecting',-> console.log 'reconnecting'
socket.on 'connect_failed',-> console.log 'connect failed'
socket.on 'reconnect_failed',-> console.log 'reconnect failed'
socket.on 'close',-> console.log 'close'
socket.on 'disconnect',-> console.log 'disconnect'
這應該給你更深入地瞭解客戶套接字的狀態。
此外,請嘗試查看您的網絡檢查器的網絡選項卡,以查看它是否正在觸發XHR請求作爲回退。最後,在您的Web控制檯中,嘗試輸入io.sockets並將其展開以查看它是否實際嘗試重新連接。
我遇到了reconnect_failed沒有觸發的問題,並且重新連接計數沒有重置。以下是在github上討論這些問題的鏈接。
reconnection delay - exponential back off not resetting properly
reconnect_failed gets never fired
some potential fixes/workarounds
使用默認選項,Socket.IO在我重新啓動服務器時幾乎立即重新連接。您是否嘗試過不設置任何選項並查看會發生什麼? – Brad 2012-07-24 14:26:25
我試過沒有設置任何選項,但重新連接沒有發生 – Dmitro 2012-07-24 15:17:06