CAsyncSocket::GetSockName

BOOL GetSockName(CString& rSocketAddress, UINT& rSocketPort);
BOOL GetSockName(SOCKADDR* lpSockAddr, int* lpSockAddrLen);

返回值:
如果函数成功,则返回非零值,否则为0。通过调用GetLastError获取特定的错误代码。以下是应用于此成员函数的错误:
·WSANOTINITIALISED成功的AfxSocketInit必须在使用此API之前使用。
·WSAENETDOWNWindows套接字工具测试出网络系统失败。
·WSAEFAULTlpSockAddrLen参数不够大。
·WSAEINPROGRESS成块的Windows套接字正在进行。
·WSAENOTSOCK描述符不是套接字。
·WSAEINVAL套接字没有用Bind约束在地址上。

参数:
rSocketAddressCString对象的索引,CString对象接受以句点分隔的IP地址数值。
rSocketPort对存储端口的UINT的索引。
lpSockAddr指向SOCKADDR结构的指针。此结构接受套接字的地址。
lpSockAddrLen指向lpSockAddr中地址长度的指针。地址长度以字节计算。

说明:
调用此成员函数,获取套接字的本地名称。当Connect调用在没有首先使用Bind的情况下完成时,此调用是非常有用的。此调用可以提供一种方法,可以通过它确定已经被系统设置的本地联系。如果想了解更多信息,请参阅联机文档“Win32 SDK”中的“Windows套接字2概述”和“Windows套接字编程指南”。

请参阅:
CAsyncSocket::Bind, CAsyncSocket::Create, CAsyncSocket::GetPeerName