【发布时间】:2020-07-25 01:36:05
【问题描述】:
我目前正在处理套接字(在基于 UNIX 的系统上),并希望在连接时获取客户端的地址和端口。我该怎么做?
【问题讨论】:
我目前正在处理套接字(在基于 UNIX 的系统上),并希望在连接时获取客户端的地址和端口。我该怎么做?
【问题讨论】:
您可以从struct sockaddr_in(或sockaddr_in6)中提取它。
struct sockaddr_in {
sa_family_t sin_family; /* address family: AF_INET */
in_port_t sin_port; /* port in network byte order */
struct in_addr sin_addr; /* internet address */
};
/* Internet address. */
struct in_addr {
uint32_t s_addr; /* address in network byte order */
};
查看手册页:http://man7.org/linux/man-pages/man7/ip.7.html
另外,你可以看看我的DNS-server code作为一个实例(有提取的IPV6地址sin6.sin6_addr)。
【讨论】: