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 的文档将列出方法/成员/等可能引发的所有异常。

我发现通过在谷歌上搜索“MSDN Ssystem.Net.Sockets.TcpListener 类”之类的内容,然后导航到我需要的页面,很容易找到你想去的地方。

TcpLisenter.AcceptTcpClient 方法

MSDN 列出了 2 个可以抛出的异常。

InvalidOperationException :侦听器尚未通过调用 Start 启动。

SocketException :使用 SocketException.ErrorCode 属性获取特定的错误代码。获取此代码后,您可以参考 MSDN 中的 Windows Sockets version 2 API 错误代码文档,了解错误的详细说明。

于 2008-12-10T11:05:34.167 回答