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

有人说现在的程序员成了组装工人,其实很有道理,利用控件模块+少量代码就可以实现,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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值