简述
返回对应于给定主机名的主机信息。
#include <winsock2.h>
struct hostent FAR *PASCAL FAR gethostbyname(const char
FAR * name);
name
:指向主机名的指针。
注释
gethostbyname()
返回对应于给定主机名的包含主机名字和地址信息的
hostent
结构指针。结构的声明与
gethostaddr()
中一致。
返回的指针指向一个由
Windows Sockets
实现分配的结构。应用程序不应该试图修改这个结构或者释放它的任何部分。此外,每一线程仅有一份这个结构的拷贝,所以应用程序应该在发出其他
Windows Scokets API
调用前,把自己所需的信息拷贝下来。
gethostbyname()
实现没有必要识别传送给它的
IP
地址串。对于这样的请求,应该把
IP
地址串当作一个未知主机名同样处理。如果应用程序有
IP
地址串需要处理,它应该使用
inet_addr()
函数把地址串转换为
IP
地址,然后调用
gethostbyaddr()
来得到
hostent
结构。
返回值
如果没有错误发生,
gethostbyname()
返回如上所述的一个指向
hostent
结构的指针,否则,返回一个空指针。应用程序可以通过
WSAGetLastError()
来得到一个特定的错误代码。