怎样用delphi制作一个IPhunter(独孤剑客的IP猎人)

[复制链接]
查看11 | 回复0 | 2009-1-30 06:28:38 | 显示全部楼层 |阅读模式
有人说现在的程序员成了组装工人,其实很有道理,利用控件模块+少量代码就可以实现,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;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行