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,连接然后接受与 Accept。 Listen 仅适用于支持连接,也就是说,这些类型 SOCK_STREAM的套接字。 此套接字放入“传入连接识别并等待队列接受被处理的被动模式”。
服务器(或者要接受连接)每次只能有多个连接请求的任何应用程序通常使用此功能:如果连接请求到达以完全中的队列,客户端将收到与 WSAECONNREFUSED的表示形式的一个错误。
Listen 尝试继续合理函数,在没有可用的端口时(说明符)。 它将接受连接,直到空队列。 如果端口变为可用,则稍后对 Listen 如果可能或 Accept 将重新填充该侦听传入连接的队列到当前或最新“积压工作”,以及恢复。
要求
Header: afxsock.h