当前位置:嗨网首页>书籍在线阅读

11-独立于协议的主机和服务转换

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

59.10 独立于协议的主机和服务转换

getaddrinfo()函数将主机和服务名转换成IP地址和端口号,它作为过时的gethostbyname()和getservbyname()函数的(可重入的)接替者被定义在了POSIX.1g中。(使用getaddrinfo()替换gethostbyname()能够从程序中删除IPv4与IPv6的依赖关系。)

getnameinfo()函数是getaddrinfo()的逆函数,它将一个socket地址结构(IPv4或IPv6)转换成包含对应主机和服务名的字符串。这个函数是过时的gethostbyaddr()和getservbyport()函数的(可重入的)等价物。

[Stevens et al., 2004]的第11章详细描述了getaddrinfo()和getnameinfo(),并提供了这些函数的实现。RFC 3493也对这些函数进行了描述。