Есть ли бросить TcpListener.AcceptTcpClient некритически исключения?

голоса
3

В моем приложении, я в настоящее время остановить прослушивание, когда AcceptTcpClient (или EndAcceptTcpClient) бросает исключение. Как правило исключения выбрасываются, когда я остановить слушатель (ошибка сокета 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?

Задан 10/12/2008 в 11:02
источник пользователем
На других языках...                            


1 ответов

голоса
0

MSDN содержит документацию, список всех исключений, которые могут быть отброшены методами / членов / и т.д..

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

Метод TcpLisenter.AcceptTcpClient

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

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

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

Ответил 10/12/2008 в 12:05
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more