无论何时我在正在使用的套接字上调用GetPeerName(),我都会得到一个恒定的IP地址。
SOCKADDR_IN clientAddr;
IN_ADDR clientIn;
int nClientAddrLen;
getpeername(fd, (LPSOCKADDR)&clientAddr, &nClientAddrLen);
memcpy(&clientIn, &clientAddr.sin_addr.s_addr, 4);
printf("client IP address is %s, port is %d", inet_ntoa(clientIn),ntohs(clientAddr.sin_port));
其中fd是我已连接的套接字。我每次都得到相同的主机和端口号。我假设我可能会忽略一些小错误,但我根本找不到它。任何人都可以提供任何帮助吗?