超时的问题吧!http的一般连接超时是900,也就是3分钟!而ping的超时只有几秒!

解决方案 »

  1.   

    你可以找一个ping的控件
    或者使用INTERNETAPI的API函数自己PING(MSDN里有),可以自己设定超时时间秒数.
      

  2.   

    谢谢 神仙和tiny现在发现只用ping判断还不行,因为如果对方装了防火墙的话,也一样ping不通,
    但是它却有可能提供http或ftp服务的!
    不好意思,我还是先说说我的程序吧,不然有点乱。某机器若提供http、ftp服务,则用winsock和Inet控件将其内容下载:......'调用了connect后,再判断它的状态Winsock1.RemoteHost = ip
    Winsock1.RemotePort = 80
    Winsock1.Connect
    url="http://"+ip
    If Winsock1.State = sckConnecting Then
       str = Inet1.OpenURL(url)‘inet1是已建立的Internet Transfer Control
       Winsock1.Close
    End If现在情况是:如果ip提供了http服务,工作很快完成。但如果没有这些服务,ping也
    ping不通的话,就惨了,要1-2分钟才结束:( 可我不希望这样,
    怎么办,不知各位大侠有何高招?谢谢! 
    我一定加分(不过我自己也很可怜,分数不多,请大侠们谅解!)
      

  3.   

    ping使用的协议不是tcp和udp,而是 imcp,需用icmpcreatefile()函数建立句柄,再用icmpsendecho发送回应请求.如果返回值为0,就失败了,否则返回被ping的计算机接收的应答值.
      

  4.   

    谢谢,但是我已经发现用ping不行了:(