SignalR: обнаружение состояния соединения на клиенте

StackOverflow https://stackoverflow.com/questions/9334838

  •  27-10-2019
  •  | 
  •  

Вопрос

Я видел, как вы можете перехватить событие отключения на стороне клиента с помощью SignalR, привязав его к событию .disconnect.

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

родовое слово
Это было полезно?

Решение

Клиент JS пытается повторно подключиться в течение определенного периода времени, который по умолчанию составляет 110 секунд.Вы можете подписаться на событие connection.stateChanged и получать обновления при изменении состояния, чтобы вы могли отображать его для пользователя или проверять реакцию SignalR на различные сценарии отключения.

В моем тестировании состояние было правильно обновлено до отключения, повторного подключения и т. д., как и следовало ожидать.

Дополнительная информация о сигнализаторесвязи

родовое слово

Другие советы

Клиент всегда пытается подключиться.Вам не нужно об этом беспокоиться. Существует событие повторного подключения, которое вы можете прослушать, если вы хотите что-то сделать после успешного восстановления соединения.

РЕДАКТИРОВАТЬ: это изменилось, клиент пытается повторно подключиться только в течение определенного периода времени.После этого вы должны поймать событие отключения и вручную перезапустить.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top