CAsyncSocket::Listen

调用该成员函数侦听传入连接请求。

BOOL Listen(
   int nConnectionBacklog = 5 
);

参数

  • nConnectionBacklog
    挂起的连接队列可以增大到的最大长度。 有效范围为从1到5。

返回值

非零,如果函数运行成功;否则0和特定错误代码可以通过调用 GetLastError检索。 下面的错误适用于此成员函数:

  • WSANOTINITIALISED 的成功的 AfxSocketInit 必须在使用此API之前发生。

  • WSAENETDOWN Windows套接字实现检测网络子系统失败。

  • WSAEADDRINUSE 尝试在使用中的地址进行侦听。

  • 块Windows套接字操作的WSAEINPROGRESS 的进度中。

  • WSAEINVAL 套接字尚未绑定与 Bind 还尚未连接。

  • WSAEISCONN 套接字已连接。

  • WSAEMFILE 没有其他文件描述符不可用。

  • WSAENOBUFS 没有缓冲区空间可用。

  • WSAENOTSOCK 描述符不是套接字。

  • WSAEOPNOTSUPP 引用的套接字不支持 Listen 操作的类型。

备注

若要接受连接,套接字用 Create先创建,传入连接的积压指定与 Listen,连接然后接受与 AcceptListen 仅适用于支持连接,也就是说,这些类型 SOCK_STREAM的套接字。 此套接字放入“传入连接识别并等待队列接受被处理的被动模式”。

服务器(或者要接受连接)每次只能有多个连接请求的任何应用程序通常使用此功能:如果连接请求到达以完全中的队列,客户端将收到与 WSAECONNREFUSED的表示形式的一个错误。

Listen 尝试继续合理函数,在没有可用的端口时(说明符)。 它将接受连接,直到空队列。 如果端口变为可用,则稍后对 Listen 如果可能或 Accept 将重新填充该侦听传入连接的队列到当前或最新“积压工作”,以及恢复。

要求

Header: afxsock.h

请参见

参考

CAsyncSocket选件类

层次结构图

CAsyncSocket::Accept

CAsyncSocket::Connect

CAsyncSocket::Create