Задать вопрос
@algotrader2013

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

Добрый день

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

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

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

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