倾情提问--gethostbyname--的用法和返回值的意义!--by zx(100分)

  • 主题发起人 主题发起人 zx
  • 开始时间 开始时间
Z

zx

Unregistered / Unconfirmed
GUEST, unregistred user!
gethostbyname
域名转IP,我不太懂返回值的含义,
但我想判断出是网络故障无法查询ip,还是
域名不存在,还是DNS无法访问?
 
我想,gethostbyname的返回值hostent的意义只要看一下winsock.pas里的
定义就可以了。如果实在不懂也可以查一下书,这和unix下的定义是一样的。
 

var Phe: PHostEnt;

// HostEntry buffer for name lookup
theHostName, HostIP: String
begin
Phe := GetHostByName(PChar(hostname));
if Phe = Nil then
result:=WSAGetLastError
else
begin
Address := longint(plongint(Phe^.h_addr_list^)^);
theHostName := Phe^.h_name;
HostIP := StrPas(inet_ntoa(TInAddr(Address)));
end;
end;

我从程序中截取出来的,自己试试吧
 
struct hostent FAR * PASCAL FAR gethostbyname(const char FAR * name);
以上为winsock.h中的gethostbyname()的定义
其意显而易见.
function gethostbyname(name: PChar): PHostEnt;
stdcall;
function gethostbyname;external winsocket name 'gethostbyname';
以上为winsock.pas中的定义
例子看DNChen老兄的就是了!
 
各位大哥!gethostbyname我会用,详细一点吧!
我是不太明白返回值的意思,好象win32的返回值
比Unix下多几个,MSDN写的英语我大概都明白,只
是具体区别还是不太懂!
 
等一下,我装MSDN查一下返回值!
 
Error Codes
WSANOTINITIALISED A successful WSAStartup must occur before using this function.
//好象是socket2 的dll调用没有正确初始化!
WSAENETDOWN The network subsystem has failed.
//网络子系统错误!
(不太明白了!socket2 的dll调用没有正确初始化,不就是本地网络配置的问题吗?)
WSAHOST_NOT_FOUND Authoritative Answer Host not found.
//权威的DNS主机没有找到!
WSATRY_AGAIN Non-Authoritative Host not found, or server failure.
//非权威的DNS主机没有找到!或者服务失败!(和上者有何区别和联系?)
WSANO_RECOVERY Nonrecoverable error occurred.
//不可恢复的错误!(什么错误???)
WSANO_DATA Valid name, no data record of requested type.
//有效的名字,但没有请求的数据记录的类型
WSAEINPROGRESS A blocking Windows Sockets 1.1 call is in progress, or the service provider is still processing a callback function.
//什么回调函数,什么块....不太懂.....
WSAEFAULT The name argument is not a valid part of the user address space.
//不懂!!
WSAEINTR The (blocking) call was canceled through WSACancelBlockingCall.
//不懂!!
 
呵呵,没用过
WSAEFAULT:不在用户的地址空间??无法访问IP???
看E文,WSAEINTR:好象是被另一个CALL取消了,好象和你上一个有关
不可恢复的错误很清楚了,没办法,谁都说不清楚
瞎猜
 
最后请求一次,没人能说的详细一些吗?
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
836
import
I
I
回复
0
查看
599
import
I
后退
顶部