[英]How can I get the address and port of a client in C sockets (sys/socket.h)?
我目前正在處理 sockets (在基於 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 服務器代碼作為一個實際示例(提取的 IPV6 地址sin6.sin6_addr
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.