0
当他尝试连接到服务器时,如何获取客户端的IP地址? 我正在使用CSocket类。CSocket服务器获取客户端IP地址
当他尝试连接到服务器时,如何获取客户端的IP地址? 我正在使用CSocket类。CSocket服务器获取客户端IP地址
空隙getPeer(无符号短&端口,的std :: string &对等体);
返回有关套接字的远程端口 的信息。端口是保持连接的端口 ,而端口 连接到的主机。对等体或者是 完全限定域名(如果IP 地址可以经由 gethostbyaddr(2)或字符串化 带点的IP地址,如果没有被来拆分。
从here。
的getPeer功能将返回远程对等的域名或IP地址,具体取决于它可以找到的内容
根据操作系统或库,似乎有两种不同的CSocket定义如果您使用MFC CSocket的定义那么你想要的功能实际上是getPeerName()
或getPeerNameEx()
,如果你使用的是IP6。从here:
BOOL GetPeerName(
CString& rPeerAddress,
UINT& rPeerPort
);
BOOL GetPeerName(
SOCKADDR* lpSockAddr,
int* lpSockAddrLen
);
而且从here:
BOOL GetPeerNameEx(
CString& rPeerAddress,
UINT& rPeerPort
);