如何快速测试对方IP的某端口是否打开?!

时间:2020-12-15 15:20:58
我使用了较笨的方法:

1)
showmessage(TcpClient1.LookupHostName('192.168.0.1'));
//局域网内测试速度基本稳定,大概半分钟内测五个端口,包括存在和不存在的IP
    
2)
TcpClient1.Connect
//当IP存在且端口打开时,速度飞快。
//当IP不存在时,速度就像死机一样,大概半分钟一个。
//当IP存在,端口未打开时,速度居中

本人均未使用TimeOut

16 个解决方案

#1


找到一篇
http://expert.csdn.net/Expert/topic/2447/2447007.xml?temp=1.739138E-02

有点复杂,有没有一条语句搞定的,我不需要隐蔽,我是光明正大地

#2


顶一下!

#3


有个方法可以在几秒中内扫描出一个网段的.哈哈!!要知道联系本人.

#4


#5


帮你顶!俺不懂

#6


没有做过这方面的东西,帮你顶一下吧,反正一条语句搞定还要速度有点困难,等待高手解决

#7


用多线程试试吧。

#8


puv 初学,帮顶。

#9


studing

#10


呼唤高手!!!!!!

#11


直接用Socket去连,然后try一下,成功就OK,不成功,就是没有次端口或为开机

#12


function CheckInternet(Url: Pchar;Port: Pchar): Boolean;//Url可以为IP地址
var
  HttpStr: string;
begin
  if Pos('HTTP',UpperCase(Url)) = 0 then
  begin
    HttpStr := 'http://';
  end;
  if Trim(Port) <> '' then
  begin
    HttpStr := Trim(HttpStr) + Url + ':' + Port;
  end
  else
  begin
    HttpStr := Trim(HttpStr) + Url;
  end;
  if not InternetCheckConnection(Pchar(HttpStr),1,0) then
  begin
    Result := False;   //端口未开
  end
  else
  begin
    Result := True;  //端口打开
  end;
end;

#13


http://expert.csdn.net/Expert/topic/2477/2477724.xml?temp=.4815943

#14


To soundbug(兼职乞丐), kw123(阿柯) :
  好象不怎么灵,而且速度也很慢

#15


楼主倒分,靠 !你和sunon是一个人!妈的

#16


TO  xiangwangz(&lt;*敝屣荣华 浮云生死 此身何惧*&gt;):

 sunon(※NN) 给了我一源码加演示,你如果有,我也可以给你,1000分都行

#1


找到一篇
http://expert.csdn.net/Expert/topic/2447/2447007.xml?temp=1.739138E-02

有点复杂,有没有一条语句搞定的,我不需要隐蔽,我是光明正大地

#2


顶一下!

#3


有个方法可以在几秒中内扫描出一个网段的.哈哈!!要知道联系本人.

#4


#5


帮你顶!俺不懂

#6


没有做过这方面的东西,帮你顶一下吧,反正一条语句搞定还要速度有点困难,等待高手解决

#7


用多线程试试吧。

#8


puv 初学,帮顶。

#9


studing

#10


呼唤高手!!!!!!

#11


直接用Socket去连,然后try一下,成功就OK,不成功,就是没有次端口或为开机

#12


function CheckInternet(Url: Pchar;Port: Pchar): Boolean;//Url可以为IP地址
var
  HttpStr: string;
begin
  if Pos('HTTP',UpperCase(Url)) = 0 then
  begin
    HttpStr := 'http://';
  end;
  if Trim(Port) <> '' then
  begin
    HttpStr := Trim(HttpStr) + Url + ':' + Port;
  end
  else
  begin
    HttpStr := Trim(HttpStr) + Url;
  end;
  if not InternetCheckConnection(Pchar(HttpStr),1,0) then
  begin
    Result := False;   //端口未开
  end
  else
  begin
    Result := True;  //端口打开
  end;
end;

#13


http://expert.csdn.net/Expert/topic/2477/2477724.xml?temp=.4815943

#14


To soundbug(兼职乞丐), kw123(阿柯) :
  好象不怎么灵,而且速度也很慢

#15


楼主倒分,靠 !你和sunon是一个人!妈的

#16


TO  xiangwangz(&lt;*敝屣荣华 浮云生死 此身何惧*&gt;):

 sunon(※NN) 给了我一源码加演示,你如果有,我也可以给你,1000分都行