как получить статус пользователя в Сети с помощью сокета.ввод-вывод и NodeJS немедленно

#node.js #socket.io

#node.js #socket.io

Вопрос:

сокет.io имеет параметр «тайм-аут закрытия» 60 секунд, и поэтому происходит задержка около 75 секунд с момента закрытия пользователем веб-страницы для запуска события «disconnect» (поэтому я знаю, что он был отключен).Для меня это слишком долго..что я хочу, так это очень быстрый ответ на изменение СТАТУСА пользователя В СЕТИ.Я использую метод интервального получения ajax во внешнем интерфейсе, поэтому я знаю, находится ли пользователь в Сети, и если время ожидания истекло, он отключен, но я думаю, что это ужасный дизайн, и должен быть какой-то способ лучше, чем этот, вы, ребята, поможете мне?спасибо большое

Ответ №1:

Какая версия сокета.ввод-вывод, который вы используете? Я никогда не вижу, disconnect чтобы событие запускалось более чем через 1 секунду.

Комментарии:

1. 0.97, я запускаю секундомер, когда закрываю вкладку, и это 75 секунд, пока событие ‘disconnect’ не сработает на стороне сервера.какая у вас версия?

2. Сейчас у меня 1.0x, но даже с веткой 0.9x я никогда не сталкиваюсь с этим. Доступна новая версия, так что попробуйте.

3. бинго! Я изменил сокет. ввод-вывод до 1.0.6, и он работает идеально! большое вам спасибо!