2008-12-10 3 views
3

В моем приложении в настоящее время я прекращаю прослушивание, когда AcceptTcpClient (или EndAcceptTcpClient) генерирует исключение. Обычно исключения прерываются при остановке слушателя (ошибка сокета 10004) или при отключении сетевого адаптера.Вызывает ли TcpListener.AcceptTcpClient некритические исключения?

try 
{ 
    while (true) 
    { 
     TcpClient client = listener.AcceptTcpClient(); 
     // omitted: start new thread which handles the client connection 
    } 
} 
catch (...) 
{ 
    // omitted: handle exception, log, stop listening 
} 

Но, есть ли какие-либо исключения, которые вызваны клиентом, и потребует, чтобы игнорировать (или войти) исключение и продолжить звонить AcceptTcpClient?

ответ

0

В MSDN есть документация, в которой перечислены все исключения, которые могут быть выбраны методами/members/etc.

Мне очень легко добраться туда, куда вы хотите отправиться на поиски google для чего-то вроде «MSDN Ssystem.Net.Sockets.TcpListener class», а затем перейти на нужную мне страницу.

TcpLisenter.AcceptTcpClient Method

MSDN перечисляет 2 исключения, которые могут быть отброшены.

InvalidOperationException: слушатель не был запущен с вызовом Start.

SocketException: Используйте свойство SocketException.ErrorCode, чтобы получить конкретный код ошибки. Когда вы получили этот код, вы можете обратиться к документации по коду ошибок API для Windows 2 в MSDN для подробного описания ошибки.

+1

Я знаю документацию, и я прочитал ее насквозь. Но это не отвечает на мой вопрос. – 2008-12-10 11:13:15

Смежные вопросы