gethostbyaddr()

编辑:调运网互动百科 时间:2020-04-03 01:55:11
编辑 锁定
本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
返回对应于给定地址的主机信息。
#include <winsock.h>
struct hostent FAR *PASCAL FAR gethostbyaddr(const char
FAR * addr, int len, int type);
addr:指向网络字节顺序地址的指针
len: 地址的长度,在AF_INET类型地址中为4。
type:地址类型,应为AF_INET。
中文名
gethostbyaddr()
性    质
返回对应于给定地址的主机信息
addr
指向网络字节顺序地址的指针
成    员
正规的主机名字

gethostbyaddr()C语言函数

编辑

gethostbyaddr()注释

gethostbyaddr()返回对应于给定地址的包含主机名字和地址信息的hostent结构指针。结构的声明如下:
struct hostent {
char FAR * h_name;
char FAR * FAR * h_aliases;
short h_addrtype;
short h_length;
char FAR * FAR * h_addr_list;
};

gethostbyaddr()结构的成员有

成员 用途
h_name 正规的主机名字(PC)。
h_aliases 一个以空指针结尾的可选主机名队列。
h_addrtype 返回地址的类型,对于Windows Sockets,这个域总是PF_INET。
h_legnth 每个地址的长度(字节数),对应于PF_INET这个域应该为4。
h_addr_list 应该以空指针结尾的主机地址的列表,返回的地址是以网络顺序排列的
为了保证其他旧的软件的兼容性,h_addr_list[0]被定义为宏h_addr。
返回的指针指向一个由Windows Sockets实现分配的结构。应用程序不应该试图修改这个结构或者释放它的任何部分。此外,每一线程仅有一份这个结构的拷贝,所以应用程序应该在发出其他Windows Scokets API调用前,把自己所需的信息拷贝下来。

gethostbyaddr()返回值

如果没有错误发生,gethostbyaddr()返回如上所述的一个指向hostent结构的指针,否则,返回一个空指针。应用程序可以通过WSAGetLastError()来得到一个特定的错误代码。
WSANOTINTIALISED 在应用这个API前,必须成功地调用WSAStartup()。
WSAENTDOWN Windows Sockets实现检测到了网络子系统的错误。
WSAHOST_NOT_FOUND 没有找到授权应答主机。
WSATRY_AGAIN 没有找到非授权主机,或者SERVERFAIL。
WSANO_RECOVERY 无法恢复的错误,FORMERR,REFUSED,NOTIMP。
WSANO_DATA 有效的名字,但没有关于请求类型的数据记录。
WSAEINPROGRESS 一个阻塞的Windows Sockets操作正在进行。
WSAEINTR 阻塞调用被WSACancelBlockingCall()取消了.

gethostbyaddr()用法

HOSTENT *lpHostEnt;
in_addr ina;
ina.S_un.S_addr = inet_addr("127.0.0.1"); //获取本地主机信息
lpHostEnt = gethostbyaddr((char*)&ina.S_un.S_addr, 4, AF_INET);
MessageBox(lpHostEnt->h_name); //显示一下主机名称

gethostbyaddr()PHP函数

编辑

gethostbyaddr()概述

(PHP 3, PHP 4 )
gethostbyaddr -- Get the Internet host name corresponding to a given IP address

gethostbyaddr()Description

string gethostbyaddr ( string ip_address)
Returns the host name of the Internet host specified byip_addressor a string containing the unmodifiedip_addresson failure.

gethostbyaddr()举例

例子 1. A simplegethostbyaddr()example
<?php
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
echo $hostname;
?>
由于PHP是用C写的脚本语言,借鉴了很多C语言的特性和函数,因此有很多相似之处。但是C语言更底层,更高效。
词条标签:
计算机学