手册页 gethostbyname
(3) 声明函数 gethostbyname
和 gethostbyaddr
已过时,getaddrinfo
(3) 和 getnameinfo
(3) 应该改用。但是,它没有解释前者过时的原因。谁能给我指点一些资源来进一步解释这个问题?
最佳答案
来自 OpenGroup
The
gethostbyaddr()
andgethostbyname()
functions may return pointers to static data, which may be overwritten by subsequent calls to any of these functions.The
getaddrinfo()
andgetnameinfo()
functions are preferred over thegethostbyaddr()
andgethostbyname()
functions.
POSIX 警告说 gethostbyaddr()
和 gethostbyname()
可能会在未来的规范版本中被撤销。另一个原因是这两个函数不能很好地处理 IPv6,应该使用 getaddrinfo()
和 getnameinfo()
代替。
关于linux - 为什么 gethostbyname 和 gethostbyaddr 被认为已过时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22222699/