为什么认为gethostbyname和gethostbyaddr已过时?

stu*_*mer 2 sockets linux network-programming

手册页gethostbyname(3)指出功能gethostbynamegethostbyaddr已过时,应改为使用getaddrinfo(3)和getnameinfo(3)。但是,它没有解释前者过时的原因。谁能给我指出一些进一步说明问题的资源?

Yu *_*Hao 5

来自OpenGroup

gethostbyaddr()gethostbyname()功能可以返回指针的静态数据,其可以通过后续调用任何这些功能被覆盖。

getaddrinfo()getnameinfo()功能都优于gethostbyaddr()gethostbyname()功能。

POSIX警告,gethostbyaddr()并且gethostbyname()可能在该规范的将来版本中将其撤回。另一个原因是这两个功能不能很好地与IPv6配合使用, getaddrinfo()getnameinfo()应改用它们。