组件在:Internet下的TcpClient构件. TcpClient 貌似没有超时属性.所以我定义了个时钟. 代码: 单元二:
Procedure checkroot;
var
kaiqi:integer;
begin
for kaiqi:=1 to 255 do
begin
sleep(100);
form1.Timer1.Enabled:=true;
form1.Client.RemoteHost:='192.168.1.'+inttostr(kaiqi); 扫描192.168.1.1 - 192.168.1.255
zjip:='192.168.1.'+inttostr(kaiqi);
form1.Client.Active:=False;
form1.Client.remotePort:='80';
form1.Client.Active:=TRUE;
if form1.Client.Connected <> false then
begin
form1.ListBox1.Items.Add(zjip);
form1.Timer1.Enabled:=false;
end
else form1.Timer1.Enabled:=false;
end;
end; 单元一:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
continue; // 就是这句,怎么跳出单元二的for循环?
end;问下各位,如果TcpClient有什么关于超时的方法吗? 或者帮我解决上面一个问题就行了.
希望能附带代码.或者大家有其他可以快速扫描端口的控件能介绍下方法的也行,但是一定要能设置超时啊..这个问题问了好多天了.
Procedure checkroot;
var
kaiqi:integer;
begin
for kaiqi:=1 to 255 do
begin
sleep(100);
form1.Timer1.Enabled:=true;
form1.Client.RemoteHost:='192.168.1.'+inttostr(kaiqi); 扫描192.168.1.1 - 192.168.1.255
zjip:='192.168.1.'+inttostr(kaiqi);
form1.Client.Active:=False;
form1.Client.remotePort:='80';
form1.Client.Active:=TRUE;
if form1.Client.Connected <> false then
begin
form1.ListBox1.Items.Add(zjip);
form1.Timer1.Enabled:=false;
end
else form1.Timer1.Enabled:=false;
end;
end; 单元一:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
continue; // 就是这句,怎么跳出单元二的for循环?
end;问下各位,如果TcpClient有什么关于超时的方法吗? 或者帮我解决上面一个问题就行了.
希望能附带代码.或者大家有其他可以快速扫描端口的控件能介绍下方法的也行,但是一定要能设置超时啊..这个问题问了好多天了.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货