@algotrader2013

Как корректно обрабатывать закрытие TcpListener при остановке приложения?

Добрый день

У меня крутится приложение, которое постоянно аксептит клиентов на TcpListener'e. При отладке я часто останавливаю его нажатием кнопки стоп в Visual Studio. При этом убиваются все потоки приложения, но порт остается занятым и netstat -aon показывает, что он занят несуществующим процессом (процесса с таким Id нет в диспетчере задач). Для освобождения порта приходится перезагружать компьютер. Подскажите, как корректно обработать такую остановку приложения.
  • Вопрос задан
  • 552 просмотра
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
listener.Start();
while(running) {
      TcpClient client = listener.AcceptTcpClient();
      // обработка запроса клиента...............
      client.Close();
}
listener.Stop();

Вынесите временно отладку логики обработки запроса клиента в отдельный поток, а сам сервер запустите и не трогайте...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы