请教如何得到ip地址
请教如何得到ip地址
楼主huang1975(江湖路)2003-06-05 21:03:26 在 Delphi / 网络通信/分布式开发 提问 机器使用adsl vlan方式联网请问如何得到本机的ip
问题点数:20、回复次数:17Top
1 楼Delphiandliu(我是新手我怕谁)回复于 2003-06-05 21:43:30 得分 0
gzTop
2 楼jun_01(无名小卒)回复于 2003-06-05 21:51:56 得分 0
ipconfig
但,如果你通过代理服务器上网,你得到的也是一个局域网内IP地址,你对外是:(服务器地址):(端口号).Top
3 楼huang1975(江湖路)回复于 2003-06-05 22:07:37 得分 0
要与其他机器p2p连接通讯,如何实现????Top
4 楼errorkiss()回复于 2003-06-05 23:06:13 得分 0
在DELPHI7.0中很简单,只要用到一个控件indymisc标签中的idipwatch
procedure tform1.button1click(.....)
begin
showmessage("你的主机IP地址是"+idipwatch1.localip);
end;Top
5 楼jun_01(无名小卒)回复于 2003-06-06 22:29:51 得分 0
点对点?
只要双方其中一个知道另外一个的IP地址,就搞定了。Top
6 楼huang1975(江湖路)回复于 2003-06-07 17:29:03 得分 0
没错。但我j觉得得到自己的ip,较可行。通过moden上网的机器得到ip的方法很多。但是通过adsl上网的机器如何得到ip呢????Top
7 楼jun_01(无名小卒)回复于 2003-06-07 23:08:39 得分 0
gzTop
8 楼moyue(执子之手,与子携老)回复于 2003-06-08 15:57:52 得分 0
了解了解Top
9 楼longlonger(萧笑宇)回复于 2003-06-08 16:36:02 得分 0
想知道Top
10 楼WorldCreater(造化天尊)回复于 2003-06-08 16:54:53 得分 0
用api
gethostbynameTop
11 楼wjlsmail(小脖领)回复于 2003-06-08 16:55:22 得分 10
//试试返回本机 Ip :
uses WinSock ;
function GetIpAddressLIP: string;
type
TaPInAddr = array of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe: PHostEnt;
pptr: PaPInAddr;
Buffer: array of char;
I: Integer;
GInitData: TWSADATA;
begin
try
WSAStartup($101, GInitData);
Result := "";
GetHostName(Buffer, SizeOf(Buffer));
phe := GetHostByName(buffer);
if phe = nil then Exit;
pptr := PaPInAddr(Phe^.h_addr_list);
I := 0;
while pptr^ <> nil do
begin
result := StrPas(inet_ntoa(pptr^^));
Inc(I);
end;
WSACleanup;
except
on Exception do
begin
Beep;
end;
end;
end;
Top
12 楼rouqing(*冰雨&双子座奇缘*)回复于 2003-06-08 17:08:50 得分 0
在本机上,可以使用IPConfig、WinIPCFG,或者 arp -a 查看IP地址。
或者上到某些论坛那里会显示你的IP地址,如果你是通过代理服务器上网,当然就只能看到代理服务器的IP地址啦。
http://www.lucn.net/bbs/ip.php
这是水晶动网论坛的ip查询地址,很准确,速度也很快,但是别干“坏事”,人家知道你从哪来,去看看啦!Top
13 楼huang1975(江湖路)回复于 2003-06-10 06:43:09 得分 0
我试用了"计算机质子"的函数.不行.只能得到网内的ip.对于ipconfig&arp&winipcfg都是如此.那位有更高的高见,或思路???请不吝赐教!!!Top
14 楼henry2003(阿波)回复于 2003-06-10 08:08:25 得分 0
Function GetComputerIP:String;
Var HostName: ARRAY OF Char;
WSData: TWSAData;
MyHost: PHostEnt;
BEGIN
Result:="0.0.0.0";
WSAstartup(2,WSData);
gethostname(@HostName,SizeOf(HostName));
MyHost:=GetHostByName(@HostName);
IF MyHost<>NIL THEN
Result:=Format("%d.%d.%d.%d",),Ord(MyHost.h_addr^),Ord(MyHost.h_addr^),Ord(MyHost.h_addr^)]);Top
15 楼wjlsmail(小脖领)回复于 2003-06-10 09:11:53 得分 10
// 从网页取得
procedure TForm1.Button1Click(Sender: TObject);
var
StrAddr,StrBody, StrIP,StrSearch : String;
Ts : TStrings ;
i : Integer ;
begin
Ts := TStringList.Create ;
StrAddr := "http://www.iligia.com/dtc/index.asp";
StrSearch := "本机地址: ";
NMHTTP1.Get(strAddr);
StrBody := NMHTTP1.Body;
Ts.Text := StrBody ;
for i := 0 to Ts.Count - 1 do
begin
if Pos(StrSearch,Ts.Strings) > 0 then
Break ;
end ;
StrIP := Copy(Ts.Strings,Pos("mono",Ts.Strings) + 6,16) ;
if Pos(">",StrIP) > 0 then
Delete(StrIp,Pos(">",StrIp),1) ; // 删除无效字符,还有其他
ShowMessage(StrIP) ;
end ;
Top
16 楼newyu(newyu)回复于 2003-06-12 10:21:51 得分 0
^_^,这么多办法。我就知道前两种,网页的不知道了,不过用D7了
另外你如果用代理服务器就用ioconfig,netshe 都可以得到
但是你如果用ADSL,而且是用路由器连接的话那么以上方法不能得到!
你用服务器连就可以得到
所以一办是你安装一个可以看IP的QQ,把自己添加为自己的好友
或者到论坛上去看也可以得到的拉
Top
17 楼huang1975(江湖路)回复于 2003-06-13 07:49:48 得分 0
感谢"计算机质子"也其他参与者.
经过测试"计算机质子"提供的代码完全正确.
再次感谢.各位.
下面给分 .呵呵.Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
