-----唉!!!难道高手们都不愿答还是不上DFW---------------没有做不到的,只有想不到的-----------高手们都进来,希望大家多费心,好

  • 主题发起人 主题发起人 wuxin
  • 开始时间 开始时间
W

wuxin

Unregistered / Unconfirmed
GUEST, unregistred user!
-----唉!!!难道高手们都不愿答还是不上DFW---------------没有做不到的,只有想不到的-----------高手们都进来,希望大家多费心,好多DELPHI死党都想知道,解决后的分值=2000+100+另加 (100分)<br />PC通过路由器上网,路由器为ADSL拨号,想通过DELPHI代码编程得到ADSL上的上网IP,
要源码,分不够再加,还有1337分
我已检索大富翁文档资料没有我要得到的答案
 
大富翁以往贴子很多都解决这个问题啦[8D]有很多种方式解决,搜一下会出来很多.
 
to forsoft:
我已检索大富翁文档资料没有我要得到的答案
 
我也在找,除了要得到他的ip以外,我还想怎样将路由器的某个端口映射到
我的计算机上,有谁知道.
我在局域网内,怎样知道除去的ip地址?
 
自己好象很难知道,不过可以使用一种方法,即网上有可以显示IP地址的网页,再从其中找出IP即可!
 
至于影射的问题,要看你的路由器的功能了!
 
to wrf:
谢谢你的支持,我有一个想法,每台计算机向另一台计算机请求数据时,发送的信息反回都包括自己的IP地址,我对网络编程不熟,听说可以解析反回的IP数据包得到那个我们所要的IP
 
//可以获得在局域网里的IP以及internet中的IP
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,winsock,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
ListBox1: TListBox;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
type
//copy the add_list
TAddrList = array [0..20] of PInAddr;
PAddrList = ^TAddrList;
var
phent : PHostEnt;
P: PAddrList;
I : Integer;
begin
{ CopyRight (C) Bowman 2000 }
{ MatthewBowman@21cn.com }
//detect yahoo.com
phent := GetHostByName(pchar(edit1.text));
if phent&lt;&gt;nil then
begin
I := 0;
P := PAddrList(phent^.h_Addr_list);
while P &lt;&gt; nil do
begin
listbox1.items.Add(StrPas(inet_ntoa(P^)));
Inc(I)
end
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
WSAData : TWSAData;
begin
//initiates use of WS2_32.DLL
if (WSAStartup(MAKEWORD(2,0),WSAData)&lt;&gt;0) then
raise Exception.Create('Winsock Version Error');
end;


procedure TForm1.FormDestroy(Sender: TObject);
begin
WSACleanUP;
end;

end.
 
xuexi!学习!
 
谢谢你 c3411080:
你的这段程序只能通个计算机名得到它们在局域网里的IP,不能得到ADSL的IP
 
可以的,第一个显示的就是局域网里的,后面一个就是internet网上的,我一直都是用这个来显示我在internet网上的IP地址,你是不是只显示了第一个啊。
 
to: c3411080
那段程序-----通过路由器上网只能显是一个IP,是网卡的,如果本机拨号可能会显示两个,我没试
 
这个问题偶也想知道答案,呵呵,真有答案偶出2000分!不过偶还贪心点:除了IP地址,偶还想知道路由器映射的端口号[:D]
 
建议用IPCONFIG命令后台执行,读取执行结果来分析。能达目的。
 
to:coldwind8112
ipconfig是显示不出ADSL上的广域网的IP,因为局域网是通过路由器的,我还是那个想法--------分析IP数据包
 
不少人没看懂问题吧。
ADSL的对外IP在内网应该是屏蔽掉的,实在没法,就找外边看自己IP的网页吧。
 
to Passion:
一语值千金,我在这个小圈转不出来了,谢谢你的提醒

不知到高手们还有其它的方法吗

希望各位推荐一些稳定的看自己IP的网页,我想把他写到程序中
 
这个问题本来就无答案的,结贴吧。
 
to wuxin
不会吧我用的就是ADSL,用IPconfig就可以显示出网上的IP来,直接用ftp://+ipconfig显示的IP,就可以用了。
 
ping 一個internet 的地址, 如果有回復, 分析它的路由, 一般就可得到, 思路倒是很簡單, 實現, 我想也不難吧!
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部