在我的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