如何使用c套接字程序在报告中显示客户端的IP地址?

我的服务器报告需要在报告中显示服务器处理的客户端IP地址,即我需要显示报告发送的客户端。 我该怎么做呢? 有人可以帮帮我吗?

用这个 :

char clntName[INET6_ADDRSTRLEN]; char portName[6]; if (getnameinfo(&client_address, sizeof client_address, clntName, sizeof(clntName), NULL, 0, NI_NUMERICHOST|NI_NUMERICSERV|NI_NUMERICSCOPE) == 0) { printf("Client = %s/%s\n",clntName,portName); } else { printf("Unable to get address\n"); } 

以下代码中的’remoteIp’字符数组将为您提供客户端的IP地址,您可以使用字符串函数进行打印。 ‘fd’是服务器端口的监听套接字..

 struct sockaddr_in remoteAddr; int size = sizeof(remoteAddr); char remoteIp[10] = {0}; acceptFd = accept(fd, (struct sockaddr *)&remoteAddr, &size); inet_ntop(AF_INET, &remoteAddr.sin_addr, remoteIp, INET_ADDRSTRLEN)