Socket.Listen 方法

定义

重载

Listen()

Socket 置于侦听状态。

Listen(Int32)

Socket 置于侦听状态。

Listen()

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

Socket 置于侦听状态。

public void Listen();

注解

挂起的连接队列的最大长度是自动确定的。

适用于

.NET 10 和其他版本
产品 版本
.NET 5, 6, 7, 8, 9, 10

Listen(Int32)

Source:
Socket.cs
Source:
Socket.cs
Source:
Socket.cs

Socket 置于侦听状态。

public void Listen(int backlog);

参数

backlog
Int32

挂起连接队列的最大长度。

例外

尝试访问套接字时出错。

示例

下面的代码示例使用 Socket 侦听传入连接。

    // create the socket
    Socket listenSocket = new Socket(AddressFamily.InterNetwork,
                                     SocketType.Stream,
                                     ProtocolType.Tcp);

    // bind the listening socket to the port
IPAddress hostIP = (Dns.Resolve(IPAddress.Any.ToString())).AddressList[0];
    IPEndPoint ep = new IPEndPoint(hostIP, port);
    listenSocket.Bind(ep);

    // start listening
    listenSocket.Listen(backlog);

注解

Listen 导致面向 Socket 连接的侦听传入连接尝试。 参数 backlog 指定可排队等待接受的传入连接数。 若要确定可以指定的最大连接数,请检索 MaxConnections 值。 Listen 不阻止。

如果收到 , SocketException请使用 ErrorCode 属性获取特定的错误代码。 获取此代码后,请参阅 Windows 套接字版本 2 API 错误代码 文档,了解错误的详细说明。 使用 AcceptBeginAccept 接受来自队列的连接。

备注

必须在调用 之前调用 Bind 方法,否则Listen将引发 SocketExceptionListen

备注

当你在应用程序中启用网络跟踪后,此成员将输出跟踪信息。 有关详细信息,请参阅 .NET Framework 中的网络跟踪

备注

积压工作参数限制为不同的值,具体取决于操作系统。 可以指定更高的值,但积压工作将根据操作系统进行限制。

另请参阅

适用于

.NET 10 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0