我做了基於網絡的簡單網絡遊戲。該遊戲使用Socket.io互相進行網絡互動。 但我遇到了這個問題。如何在Socket.io中處理Close事件?
想想下面的情況。 我運行了Socket.io服務器。一個玩家進入房間,另一個玩家加入房間。 他們玩遊戲一段時間.. 但一個球員如此憤怒和關閉遊戲選項卡。
在這種情況下,我怎麼能得到其中的一個客戶端已關閉在服務器端瀏覽器中的事件?
根據谷歌搜索,人們這樣說:「使用瀏覽器的關閉事件像onBeforeUnload」
,但我知道,所有的瀏覽器不支持onbeforeunload事件。所以我想解決有關 檢查服務器端,客戶端斷開事件。
在Socket.io(的NodeJS)服務器端的控制檯,當客戶端連接關閉,控制檯說,像以下:
調試 - 丟棄運輸
我的版本的NodeJS是0.4.10和Socket.io版本是0.8.7。並且都在Linux上運行。
任何人都可以幫助嗎?
shortend碼在這裏:
var io = require ("socket.io").listen (3335);
io.sockets.on ("connection" , function (socket)
{
socket.on ("req_create_room" , function (roomId)
{
var socketInstance = io
.of ("/" + roomId)
.on ("connection" , function (sock)
{
sock.on ("disconnect" , function()
{
// i want this socket data always displayed...
// but first-connected-client doesn't fire this event ..
console.log (sock);
}
});
});
});
我的回答對您有幫助嗎?它解決了你的問題嗎? – 2015-03-13 21:10:22