События jQuery сокета IO на самом сервере - PullRequest
2 голосов
/ 19 февраля 2012

Я пытаюсь найти хороший способ обновления базы данных для моей социальной сети, когда пользователи отключаются, так как пользователь больше не находится на сайте, поэтому нельзя активировать сценарии для обновления базы данных и отправки событий другимпользователи на сайте, так что я думаю, что мне нужно кое-как, как сделать это на самом сервере, а не полагаться на сценарии на стороне клиента.

сейчас я делаю что-то вроде этого на серверебоковая часть сценария (которая еще загружается пользователем)

socket.on('disconnect', function () { 
socket.broadcast.emit('disconnect', { data : session});
}); 

, затем снова запускается событие сценариев на стороне пользователя, запускается событие ajax для обновления базы данных MYSQL, а затеминициировать другое событие сокета, чтобы отправить пользователям уведомление о том, что этот пользователь отключен, однако это работает только в том случае, если пользователь закрывает свой браузер, но не закрывает свой ноутбук или какое-либо другое устройство, а также полагается на отправку другим пользователям для егосправиться с этим, чего у меня не может быть.

Это меня очень беспокоит, мне нужно найти решение.

1 Ответ

0 голосов
/ 12 марта 2012

Используйте опрос ajax (непрерывно отправляйте запросы ajax, которые сервер прослушивает и позволяет установить таймаут через 10 секунд), чтобы сигнализировать, что пользователь все еще в сети.Когда сервер перестает получать запросы, пользователь вышел из системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...