手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

制作一个IPhunter

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

  有人说现在的程序员成了组装工人,其实很有道理,利用控件模块 少量代码就可以实现,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;

上一篇: Delphi+Cell轻松做报表
下一篇: 利用Dephi5编写控制面板程序

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!