0
對不起,首先是誤解了標題,但不能使它更好。 所以這裏是我的問題: 我正在使用NodeJS和socket.IO。 我得到了一個類似遊戲的大廳系統。你創建root,其他人加入等。 我想當房間的主人關閉連接的房間應該刪除自己。我是這樣做的斷開連接之前的NodeJS連接
db.game.findOne({ _id: ObjectId(roomId) }, function(err, item)
{
if (err || !item || item.started)
return;
if (item.createdBy == currentUser)
{
db.game.remove({ _id: ObjectId(roomId) }, function(err, item) {
io.sockets.in(roomId).emit('force_interupt');
});
}
它的工作,但我有問題。如果這個人只是在瀏覽器上按REFRESH,網絡服務器(php,nginx,mongod)首先獲取遊戲內容 - >顯示它,然後由NodeJS刪除遊戲,因爲連接丟失。 任何想法,我可以避免這一點?
發送「退出」命令的最佳方式是什麼?我想到onbeforeunload和onunload,但與onbeforeunload我可以得到確認的返回值和onunload我不能停止卸載 – 2013-02-28 14:49:00
我會建議使用'退出'按鈕'退出'命令。在我看來,刷新頁面與關閉然後重新打開頁面沒什麼兩樣。所以,如果刷新不能移除房間,關閉頁面也不應移除房間。 – Chen 2013-02-28 15:04:57
我想出瞭如何做到這一點,謝謝 – 2013-02-28 15:08:23