Socket.Listen 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
Listen() |
将 Socket 置于侦听状态。 |
Listen(Int32) |
将 Socket 置于侦听状态。 |
Listen()
Listen(Int32)
- Source:
- Socket.cs
- Source:
- Socket.cs
- Source:
- Socket.cs
将 Socket 置于侦听状态。
public:
void Listen(int backlog);
public void Listen (int backlog);
member this.Listen : int -> unit
Public Sub Listen (backlog As Integer)
参数
- backlog
- Int32
挂起连接队列的最大长度。
例外
尝试访问套接字时出错。
示例
下面的代码示例使用 Socket 侦听传入连接。
// create the socket
Socket^ listenSocket = gcnew 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 = gcnew IPEndPoint( hostIP,port );
listenSocket->Bind( ep );
// start listening
listenSocket->Listen( backlog );
// 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);
' create the socket
Dim listenSocket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
' bind the listening socket to the port
Dim hostIP As IPAddress = Dns.Resolve(IPAddress.Any.ToString()).AddressList(0)
Dim ep As New IPEndPoint(hostIP, port)
listenSocket.Bind(ep)
' start listening
listenSocket.Listen(backlog)
End Sub
注解
Listen 导致面向 Socket 连接的侦听传入连接尝试。 参数 backlog
指定可排队等待接受的传入连接数。 若要确定可以指定的最大连接数,请检索 MaxConnections 值。
Listen 不阻止。
如果收到 , SocketException请使用 ErrorCode 属性获取特定的错误代码。 获取此代码后,请参阅 Windows 套接字版本 2 API 错误代码 文档,了解错误的详细说明。 使用 Accept 或 BeginAccept 接受来自队列的连接。
注意
必须在调用 之前调用 Bind 方法,否则Listen将引发 SocketException。Listen
备注
当你在应用程序中启用网络跟踪后,此成员将输出跟踪信息。 有关详细信息,请参阅 .NET Framework 中的网络跟踪。
注意
积压工作参数限制为不同的值,具体取决于操作系统。 可以指定更高的值,但积压工作将根据操作系统进行限制。