之前我使用Node.js的做HTML5遊戲和socket.ioSocket.io需要很長的時間觸發斷開事件
我決定舉辦它Heroku。
Heroku不允許使用WebSockets,所以我必須設置xhr-polling來代替。 (Socket-io on Heroku)
io.configure(function() {
io.set("transports", ["xhr-polling"]);
io.set("polling duration", 10);
});
之前,我用網絡套接字只
io.set("transports", ["websocket"]);
現在,當一個客戶端斷開連接(關閉他的窗口或刷新他的網頁)事件「斷開」不觸發立即在服務器上(它看起來像在等待客戶端心跳超時)。
client.on("disconnect", onClientDisconnect);
如果客戶端重新加載,我得到多個連接事件以前斷開點火。 我的問題在這裏。
你有什麼想法,爲什麼xhr-polling不會觸發斷開事件? 這是一個錯誤的socket.io配置?
謝謝。
沒有辦法知道使用xhr-polling的客戶端是否斷開連接,直到他們不響應心跳,因爲它不使用持久連接。 –