如何从套接字获取客户端的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 位)整数,导致段错误。
您应该始终启用所有警告;这会向您展示该函数未声明。
最后,这应该会产生您想要的输出。
我想打印连接到服务器套接字的客户端的IP地址。我看过很多答案,但我都错了。另外请提供正确的位置来放置您要回答的代码
预期结果 = 客户端 IP 为 。 . . .
您可以为此使用函数 inet_ntoa()
:
printf("IP of client: %s\n", inet_ntoa(cli.sin_addr));
在您 accept()
建立客户端连接后将其放在某处。
要使用函数 inet_ntoa()
,您必须包含适当的头文件 arpa/inet.h
。否则,返回的(64 位)指针被削弱为(32 位)整数,导致段错误。
您应该始终启用所有警告;这会向您展示该函数未声明。
最后,这应该会产生您想要的输出。