网络编程中的地址转换与DNS协议详解
1. 使用getnameinfo()函数
getnameinfo()函数可以将 addrinfo 结构转换回文本格式,它同时支持IPv4和IPv6。此外,它还可以将端口号转换为文本格式的数字或服务名称。其函数声明如下:
int getnameinfo(const struct sockaddr *addr, socklen_t addrlen,
char *host, socklen_t hostlen,
char *serv, socklen_t servlen, int flags);
参数说明:
- 前两个参数 addr 和 addrlen 分别从 struct addrinfo 的 ai_addr 和 ai_addrlen 字段传入。
- host 和 hostlen 指定用于存储主机名或IP地址文本的字符缓冲区和缓冲区长度。
- serv 和 servlen 指定用于存储服务名称的缓冲区和长度。如果不需要主机名和服务名称,也可以只传入其中一个。
- flags 可以是以下标志的按位或组合:
- NI_NAMEREQD :要求
超级会员免费看
订阅专栏 解锁全文
1496

被折叠的 条评论
为什么被折叠?



