CAsyncSocket::Bind

BOOL Bind(UINT nSocketPort, LPCTSTR lpszSocketAddress = NULL);
BOOL Bind(const SOCKADDR* lpSockAddr, int nSockAddrLen);

返回值:
如果成功,则返回非零值,否则为0。通过调用GetLastError获取特定的错误代码。以下为应用于此成员函数的错误:
·WSANOTINTIALISED成功的AfxSocketInit必须发生在使用此API之前。
·WSAENETDOWNWindows套接字工具测试出网络系统失败。
·WSAEADDRINUSE特定的地址已在使用中(请参阅 在SetSocketOpt下的SO_REUSESADDR套接字选项)。
·WSAEFAULTnSockAddrLen参数太小(小于SOCKETADDR结构的大小)。
·WSAEINPROGRESS成块的Windows套接字操作正在进行中。
·WSAEAFNOSUPPORT此端口不支持特定的地址体系。
·WSAEINVAL套接字已被约束于地址上。
·WSAENOBUFS由于连接太多,已经没有足够有效的缓冲空间。
·WSAENOTSOCK描述符不是套接字。

参数:
nSocketPort定义套接字应用的端口。
lpszSocketAddress网络地址,用句点分隔的数值,如“128.56.22.8”。
lpSocketAddr指向SOCKADDR结构的指针。SOCKADDR包含有分配给此套接字的地址。
nSockAddrLen以字节计算的lpSocketAddr中的地址长度。

说明:
调用此成员函数,将本地地址与套接字相关联。在顺序Connect或Listen调用之前,此例程用在未连接的数据报或数据套接字上。在它能够接受连接请求之前,侦听服务器套接字必须选择端口数并且通过调用Bind让Windows套接字知道。Bind通过将本地名分配给未命名的套接字,建立本地联系(主机地址/端口数)。

请参阅:
CAsyncSocket::Connect, CAsyncSocket::Listen, CAsyncSocket::GetSockName, CAsyncSocket::SetSockOpt, CAsyncSocket::Create