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
);