Сделать так, чтобы клиент отправлял событие отключения при закрытии вкладки node.js

Я делаю многопользовательскую игру с сервером node.js с socket.io и холстом html5 с файлом js для клиента.

Теперь у меня есть socket.on('disconnect',function(){my code here}); на стороне сервера, но когда пользователь закрывает вкладку, на которой работает клиент, это не вызывает никакого события отключения на сервере, но мне нужно, чтобы сервер заметил, когда пользователь закрывает вкладку.

Как я могу заставить клиент правильно запускать событие, когда он закрывает вкладку, в которой он работает?


person Wingblade    schedule 14.04.2012    source источник


Ответы (1)


Я не думаю, что это возможно. Поэтому я бы предложил установить тайм-аут для каждого соединения сокета на сервере, чтобы закрыть его автоматически. На стороне клиента вы можете отправить «пинг», чтобы соединение оставалось открытым, когда ничего не происходит. ;) Как насчет этого?

person matths    schedule 14.04.2012