Обнаружение отключения клиента с помощью HttpListener

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

  •  19-09-2019
  •  | 
  •  

Вопрос

У меня есть приложение, которое использует HttpListener, мне нужно знать, когда клиент отключился, прямо сейчас у меня есть весь мой код внутри блока try / catch, который довольно уродлив и не является хорошей практикой.

Как я могу узнать, отключился ли клиент?

Спасибо!

Это было полезно?

Решение

Краткий ответ:ты не можешь.Если клиент перестает разговаривать, базовый сокет может остаться открытым и никогда не закроется;это просто будет тайм-аут.Способ обнаружить это - попытаться выполнить действие с этим соединением, и если соединение больше не является действительным, оно выдаст какое-то исключение в зависимости от того, что произошло.Если вы используете HttpListener асинхронно, это может немного очистить ваш код с точки зрения try / catch, но, к сожалению, это то, с чем вы застряли.Нет события, которое сработало бы, если клиент отключится.

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