0
對於偵聽套接字接受的打開的套接字,我想獲取遠程端的主機名。 對具有多個主機名的主機使用getnameinfo()我並不總是獲得相同的主機名。是否有可能獲得所有這些或每次至少獲得相同的一個?如何獲得穩定的套接字主機名?
我讀過一些關於規範主機名的文檔,但是除了暗示這是我需要的內容之外,找不到更多的信息。
這是我怎麼稱呼則getnameinfo()
char szHostname[ NI_MAXHOST ];
const sockaddr* pSock;
int nSockLen;
// stuff to get a pSock
int ret = getnameinfo(pSock, nSockLen, szHostname, NI_MAXHOST, 0, 0, NI_NAMEREQD);
if (ret != 0)
ret = getnameinfo(pSock, nSockLen, szHostname, NI_MAXHOST, 0, 0, NI_NUMERICHOST);
printf(szHostname);
如果對X有多個主機名AAA & BBB szHostname可能有兩種。
請發佈一些代碼,你已經嘗試過sofar。 – hetepeperfan
如何使用getnameinfo進行編輯。 – Johnny