Será TcpListener.AcceptTcpClient lançar exceções não críticos?

votos
3

Na minha aplicação, atualmente eu parar de ouvir quando AcceptTcpClient (ou EndAcceptTcpClient) lança uma exceção. Normalmente exceções são lançadas quando eu parar o ouvinte (erro de soquete 10004) ou quando eu desligar o adaptador de rede.

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

Mas, existem exceções que são causados ​​pelo cliente, e exigiria a ignorar (ou registro) a exceção e continuar chamando AcceptTcpClient?

Publicado 10/12/2008 em 11:02
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

MSDN tem documentação que irá listar todas as exceções que podem ser lançadas por métodos / membros / etc.

Acho que é fácil para chegar onde você quer ir através de pesquisa no Google por algo como "classe MSDN Ssystem.Net.Sockets.TcpListener" e, em seguida, navegar para a página que eu preciso.

Método TcpLisenter.AcceptTcpClient

MSDN lista 2 exceções que podem ser lançadas.

InvalidOperationException: O ouvinte não foi iniciado com uma chamada para iniciar.

SocketException: Use a propriedade SocketException.ErrorCode para obter o código de erro específico. Quando você obter esse código, você pode se referir ao Windows Sockets versão 2 API erro documentação de código no MSDN para uma descrição detalhada do erro.

Respondeu 10/12/2008 em 12:05
fonte usuário

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