当前位置: 首页 > 图文教程 > 开发语言 > Delphi > 制作一个IPhunter

Delphi
Delphi 4.0 制作数据库发行盘技巧
用Delphi 开发数据库程序经验三则
在Delphi中定位文件位置
Delphi编程技巧实例
delphi构件制作方法简介
在Delphi中如何控制其它应用程序窗口
用Delphi实现远程屏幕抓取
用Delphi6制作网页特效软件
Delphi多层应用程序的实现
Delphi下汉字输入法的编程及使用
Delphi巧克力的滋味(1)
DELPHI下汉字输入法的编程及使用(1)
Delphi中高级DLL的编写和调用(1)
Delphi中实现多线程同步查询(1)
Delphi中实现多线程同步查询(2)
Delphi中对Oracle存取RTF文档(1)
Delphi5实现多层Client/Server应用程序(1)
扩展Delphi的线程同步对象(1)
Delphi制作带图标的弹出式选单
用Delphi编写安装程序(1)

Delphi 中的 制作一个IPhunter


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 63 ::
收藏到网摘: n/a

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