Остановите службу Windows, ожидающую на AcceptTcpClient - PullRequest
1 голос
/ 22 ноября 2011

У меня есть служба Windows, которая прослушивает соединения с

TcpClient client = myTcpListener.AcceptTcpClient();

Мне интересно, что произойдет, когда эта служба Windows остановится во время ожидания приема нового соединения.

Будет ли прослушивательвсе еще прислушиваться к соединениям на этом порту?Если так, как я могу убить этого слушателя?

Ответы [ 3 ]

2 голосов
/ 22 ноября 2011

Вы должны позвонить Stop() на слушателя. Обратите внимание, что вам нужно закрыть принятые соединения отдельно.

0 голосов
/ 23 ноября 2011

Это такое же поведение потока. Процесс заканчивается только после завершения потоков. При запуске метода stop закройте все соединения вручную.

0 голосов
/ 23 ноября 2011

Когда процесс умирает, слушатель, очевидно, больше не будет слушать.

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

...