怎么判断inet控件是否超时?写的详细点好吗?

解决方案 »

  1.   

    监控INet的StateChange事件:Private Sub Inet1_StateChanged(ByVal State As Integer)
    On Error Goto handler
      
      If State = icError Then
        
        MsgBox "ERROR"
        
      End If
      
    Exit Sub ' so handler doesnt run every timehandler:
    If err.number = 32576 then
      MsgBox "Timeout occurred.. or something"
    End If'or you can:Select Case Err.Number
      Case 32756
      'blah
      Case 123456
      'blah
    End SelectEnd Sub
      

  2.   

    StateChanged 事件
          连接中状态发生改变,就会引发该事件。语法object_StateChanged(ByVal State As Integer)StateChanged 事件的语法包含下面部分:部分 描述 
    object 对象表达式,其值是“应用于”列表中的对象。 
    State 整数。如下面的“设置值”所示,指定状态。 
    设置值State 的设置值:常数 值 描述 
    icNone 0 无状态可报告。 
    icHostResolvingHost 1 该控件正在查询所指定的主机的 IP 地址。 
    icHostResolved 2 该控件已成功地找到所指定的主机的 IP 地址。 
    icConnecting 3 该控件正在与主机连接。 
    icConnected 4 该控件已与主机连接成功。 
    icRequesting 5 该控件正在向主机发送请求。 
    icRequestSent 6 该控件发送请求已成功。 
    icReceivingResponse 7 该控件正在接收主机的响应。 
    icResponseReceived 8 该控件已成功地接收到主机的响应。 
    icDisconnecting 9 该控件正在解除与主机的连接。 
    icDisconnected 10 该控件已成功地与主机解除了连接。 
    icError 11 与主机通讯时出现了错误。 
    icResponseCompleted 12 该请求已经完成,并且所有数据均已接收到。 
    说明一般来说,使用 StateChanged 事件决定何时使用 GetChunk 方法来检索数据。要这样做,须使用 Select Case 语句,并测试 icResponseReceived (8) 或 icResponseCompleted (12)。注意,当该控件已完成一个操作时,且此操作在缓冲区中没有产生任何数据,此时 icResponseReceived 状态也可能出现。例如,当与某个 FTP 站点进行连接时,该控件将与此 FTP 站点“握手”,但没有在缓冲区中产生任何数据,此时会出现 icResponseReceived 状态。另一方面,一个操作完全完成后,会出现 icResponseCompleted 状态。例如,如果正在使用 Execute 方法和 GET 操作来检索某个文件,在此文件被完全检索之后,将出现 icResponseCompleted 事件,且仅出现一次。实际上,使用 icResponseReceived 状态可以对数据做语法分析,直到检索到所需信息为止(例如,检索 HTML 文件时,只对标头进行检索)。获得该信息后,就可以取消这次检索。另一方面,如果想检索整个文件,icResponseCompleted 状态还会通知传输已经完成,可以继续。