所以我正在開發(更多玩耍)node.js中的實時遊戲,我也在使用Redis和Sockets.io。我有球員創建一個大廳並加入它(有點像遊戲前的聊天室,在那裏你可以與玩家交談並選擇遊戲設置)。客戶端是用HTML/CSS/JS編寫的,無論如何,我希望能夠告訴玩家何時從大廳斷開連接,以更新在界面上加入的玩家數量(以及加入的玩家名字)。我曾經想過跟蹤哪些用戶在nodejs中聯機的最佳方式是什麼?
兩個選項:
使用Redis的鍵值超時功能,刪除特定的領域,如果它不是在時間量X更新。然後我會讓主人檢查這個字段的存在以檢查DC。我想知道這是否效率非常低,因爲許多用戶可能會玩,所以在redis中有很多超時值以及許多其他用戶輪詢這些字段會很糟糕。
我可以使用('disconnect',..)上的sockets.io來更新該字段。但是我不確定這個事件是否會觸發,例如用戶電腦死機?
無論如何,我也打開任何其他的想法也!
對,這意味着,即使此刻,'脫節'事件也能夠被解僱嗎? (即使它必須等待15秒/無論配置多少時間) – 2012-03-08 01:23:59