获取socket客户端的IP

场景:服务端建立socket后,需要知道是哪些客户端IP在发起请求,可以对请求的客户端进行限制等操作。

/*获取客户端的IP*/
#define NIPQUAD(addr) \
((unsigned char *)&addr)[0], \
((unsigned char *)&addr)[1], \
((unsigned char *)&addr)[2], \
((unsigned char *)&addr)[3]

client_sockfd = accept(server_sockfd, (struct sockaddr*) & client_address, &client_len);

char client_ip[MINLEN] = "";
sprintf(client_ip, "%u.%u.%u.%u", NIPQUAD(client_address.sin_addr.s_addr));

Guess you like

Origin blog.csdn.net/xiadeliang1111/article/details/112371634