在我的C++應用程序中,我使用getpeername系統調用,它在var sa中返回0.0.0.0。 沒有錯誤的錯誤號,並返回代碼爲0linux系統調用getpeername C++
這裏是代碼:
int GetSock(int sock)
{
struct sockaddr_storage ss;
socklen_t salen = sizeof(ss);
struct sockaddr *sa;
struct addrinfo hints, *paddr, *paddrp;
sa = (struct sockaddr *)&ss;
if (getpeername(sock, sa, &salen) != 0) {
error = errno;
return -1;
}
}
注:我編譯這個代碼在Eclipse中GCC。 有幫助嗎?
謝謝!
你能告訴我們一個你的代碼的例子嗎? – birryree 2010-12-15 16:29:21
你嘗試過使用getpeername()嗎? – yasouser 2010-12-15 16:35:15
看起來它正在用於未連接的套接字或者是服務器套接字。 – 2010-12-15 16:45:07