Обнаружьте клиентское разъединение с HttpListener

Можно использовать:

Object instance = new SomeClass();
instance.getClass().getName(); //will return the name (as String) (== "SomeClass")
instance.getClass(); //will return the SomeClass' Class object

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

9
задан Schwertz 25 August 2009 в 18:01
поделиться

1 ответ

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

9
ответ дан 4 December 2019 в 21:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: