在 MFC 中,CAsyncSocket 类确实具有名为 GetPeerName 的公共方法,它用于获取与套接字关联的远程端点的地址信息。以下是 CAsyncSocket::GetPeerName 方法的基本语法和说明:
BOOL GetPeerName(CString& rPeerAddress, UINT& rPeerPort);
BOOL GetPeerName(SOCKADDR* lpSockAddr, int* lpSockAddrLen);

参数说明:
  •  rPeerAddress:用于存储远程端点的 IP 地址的 CString 对象。

  •  rPeerPort:用于存储远程端点的端口号的 UINT 对象。

  •  lpSockAddr:指向 SOCKADDR 结构的指针,用于存储远程端点的地址信息。

  •  lpSockAddrLen:指向 int 的指针,用于指定 lpSockAddr 缓冲区的大小,同时也返回实际写入的地址信息的长度。


返回值:
  •  如果成功获取远程端点的地址信息,则返回 TRUE;否则返回 FALSE。


示例用法:
CAsyncSocket mySocket;
// 假设已经创建并连接了 mySocket

CString strPeerAddress;
UINT nPeerPort;

if (mySocket.GetPeerName(strPeerAddress, nPeerPort))
{
    // 成功获取远程端点的地址信息
    // 可以使用 strPeerAddress 和 nPeerPort 进行相应的操作
}
else
{
    // 获取失败,处理错误
}

这个方法通常在建立连接后使用,以获取远程端点的地址信息。


转载请注明出处:http://www.zyzy.cn/article/detail/15515/MFC/CAsyncSocket