我想知道如何使用accept获取连接到服务器上的套接字的客户端的IP地址.我该怎么做?getpeername返回错误的IP地址,我似乎无法找到另一种方法.
在服务器上,在accept返回后,我这样做:
char buf[INET_ADDRSTRLEN];
struct sockaddr name; socklen_t len = sizeof(name);
getpeername(sock_fd, &name, &len); //sock_fd is the socket im using
inet_ntop(AF_INET, &name, buf, INET_ADDRSTRLEN);
string ip = buf;
Run Code Online (Sandbox Code Playgroud)