如何从套接字获取客户端的IP地址

how to get ip address of client from socket

我想打印连接到服务器套接字的客户端的IP地址。我看过很多答案,但我都错了。另外请提供正确的位置来放置您要回答的代码

预期结果 = 客户端 IP 为 。 . . .

您可以为此使用函数 inet_ntoa():

printf("IP of client: %s\n", inet_ntoa(cli.sin_addr));

在您 accept() 建立客户端连接后将其放在某处。 要使用函数 inet_ntoa(),您必须包含适当的头文件 arpa/inet.h。否则,返回的(64 位)指针被削弱为(32 位)整数,导致段错误。

您应该始终启用所有警告;这会向您展示该函数未声明。

最后,这应该会产生您想要的输出。