H hehao Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-15 #1 最近要用delphi编网络程序,要把一个www网址转化为ip地址,但是不知道 怎么与DNS服务器通讯来得到ip地址?还请各位高手指教。
P Pipi. Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-16 #4 如果你是使用系统上设置的dns,就是getaddrbyhost 如果你的系统没有设置dns,或者你想指定从某个dns服务器得到地址(这个dns服务器 又不是当前系统使用的), 那你就可以用 ics 控件中的 TDnsQuery ,可以很方便的从任意一个dns服务器 得到主机地址 ics: http://www.rtfm.be/fpiette/indexuk.htm
如果你是使用系统上设置的dns,就是getaddrbyhost 如果你的系统没有设置dns,或者你想指定从某个dns服务器得到地址(这个dns服务器 又不是当前系统使用的), 那你就可以用 ics 控件中的 TDnsQuery ,可以很方便的从任意一个dns服务器 得到主机地址 ics: http://www.rtfm.be/fpiette/indexuk.htm
S steve Unregistered / Unconfirmed GUEST, unregistred user! 2000-04-16 #5 uses WinSock; function GetRemoteHostIP : string; var pptr : TInAddr; WebAddr : pchar I : Integer; GInitData : TWSADATA; begin StrPCopy(WebAddr,'www.delphibbs.com'); WSAStartup($101, GInitData); pptr :=GetHostByName(WebAddr, StrLen(WebAddr)); if pptr = nil then Exit; result:=StrPas(inet_ntoa(pptr^.^)); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 这里好像是这个样子的,你再查查TInAddr的结构,时间长了我记不太准了 WSACleanup; end;
uses WinSock; function GetRemoteHostIP : string; var pptr : TInAddr; WebAddr : pchar I : Integer; GInitData : TWSADATA; begin StrPCopy(WebAddr,'www.delphibbs.com'); WSAStartup($101, GInitData); pptr :=GetHostByName(WebAddr, StrLen(WebAddr)); if pptr = nil then Exit; result:=StrPas(inet_ntoa(pptr^.^)); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 这里好像是这个样子的,你再查查TInAddr的结构,时间长了我记不太准了 WSACleanup; end;
H hehao Unregistered / Unconfirmed GUEST, unregistred user! 2000-05-28 #6 我已经用getaddrbyhost写出来了,以前是不太明白其中的hostent 结构的用法才来问的,现在看了一下别人的源程序,明白了.谢谢 cAkk和PiPi的答案了. btw:最近一直连不上大富翁,给分给晚了,对不起了. steve的方法我试了一下好像不行,所以没给分,不过还是谢谢他了.
我已经用getaddrbyhost写出来了,以前是不太明白其中的hostent 结构的用法才来问的,现在看了一下别人的源程序,明白了.谢谢 cAkk和PiPi的答案了. btw:最近一直连不上大富翁,给分给晚了,对不起了. steve的方法我试了一下好像不行,所以没给分,不过还是谢谢他了.