标题: 怎样用delphi制作一个IPhunter
逸风
管理员
Rank: 9
历史尘埃


UID 15
精华 3
积分 4579
帖子 3404
威望 7091
金币 1073
热心 1343
阅读权限 102
注册 2005-7-28
来自 南京
状态 离线

用支付宝求购
怎样用delphi制作一个IPhunter

有人说现在的程序员成了组装工人,其实很有道理,利用控件模块+少量代码就可以实现,delphi 5.0提供了丰富的internet控件,利用tcp/ip 客户端-服务端就可以解决问题。关键的控件是serversocket,我们模仿iphunter的界面用一个button1(按钮),一个combobox1(用于显示),这三个最基本的控件放置到空白窗体上就可以开始写代码了。 

首先,这个combobox1必须能显示多个ip,我们定一个变量y来累加combobox1.items[y], 

var y:integer; 

我们的思路如下,当serversocket活动的port(端口)收到基于tcp/ip协议的连结请求时候,返回对方的ip值,传递给combobox显示出来。由button1控制serversocket的激活,也就是打开关闭端口。 

我们在serversocket的on clientconnect事件中加入一下代码 

procedure tform1.serversocket11clientconnect(sender: tobject; 

socket: tcustomwinsocket); 

begin 

combobox1.items.insert(y,'');//加入一条空纪录 

combobox1.items[y]:=socket.remoteaddress;//获取对方的ip 

label1.text:='共捕获'+inttostr(y+1)+'个ip';//用一个标签来显示一共抓了多少ip 

y:=y+1;//计数变量加1 

socket.close; 

end; 

现在,将button1的caption属性设置为 '开始',在它的单击事件中加入以下代码 

procedure tform1.speedbutton7click(sender: tobject); 

begin 

if speedbutton7.caption='开始' then 

begin 

serversocket11.port:=80;//这句可以在serversocket属性中设定,捕获浏览器的连接 

serversocket11.active:=true;//激活端口 

speedbutton7.caption:='停止'; 

end 

else 

begin 

serversocket11.active:=false;//关闭端口 

speedbutton7.caption:='开始'; 

combobox1.clear;//结束捕获,清空历史信息 

y:=0;//计数变量复位 

end; 

end;


转自:  编程联盟

顶部
[广告] 免费域名(Free Subdomain) 免费空间(Free hosting) PR查询(Google Pagerank)



当前时区 GMT+8, 现在时间是 2008-7-25 21:51
信产部ICP备案:京ICP备05066424号 北京市公安局网监备案:1101050648号

Powered by Discuz! 5.5.0
清除 Cookies - 联系我们 - 网友俱乐部 - Archiver - WAP