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 の呼び出しを続行する必要がある例外はありますか?

4

1 に答える 1

0

MSDN には、メソッド/メンバー/その他によってスローされる可能性があるすべての例外を一覧表示するドキュメントがあります。

Google で "MSDN Ssystem.Net.Sockets.TcpListener クラス" などを検索し、必要なページに移動することで、目的の場所に簡単にアクセスできます。

TcpLisenter.AcceptTcpClient メソッド

MSDN には、スローされる可能性がある 2 つの例外がリストされています。

InvalidOperationException : リスナーは Start の呼び出しで開始されていません。

SocketException : SocketException.ErrorCode プロパティを使用して、特定のエラー コードを取得します。このコードを取得したら、エラーの詳細な説明について、MSDN の Windows ソケット バージョン 2 API エラー コード ドキュメントを参照できます。

于 2008-12-10T11:05:34.167 に答える