在我的应用程序中,当 AcceptTcpClient(或 EndAcceptTcpClient)抛出异常时,我目前会停止监听。通常情况下,当我停止监听器(socket error 10004)或断开网络适配器时会抛出异常。
try
{
while (true)
{
TcpClient client = listener.AcceptTcpClient();
// omitted: start new thread which handles the client connection
}
}
catch (...)
{
// omitted: handle exception, log, stop listening
}
但是,是否存在由客户端引起的异常情况,需要忽略(或记录)异常并继续调用AcceptTcpClient?