连接成功我知道怎么写了,但是我要程序连接时,如果server没开,连接失败的话,程序就出错,自动退出了饿!!
Private Sub Winsock1_Connect()
MsgBox "成功连接上22端口"
End Sub
有没有办法连接失败的时候弹出提示的msg,不要关闭程序就好了!!!!3QQQQQQ~~

解决方案 »

  1.   

    用 On Error GoTo 试试,直接读取错误号,然后提示。
      

  2.   

    我说错了,不好意思如果 server没开,点连接,一点反应都没有的,就不存在有错误号了。
      

  3.   

    Error事件后台进程发生错误时产生该事件(如连接失败,后台发送或检取数据失败等)。
    应用于Winsock控件。
    语法object_Error(number As Integer, Description As String, Scode As Long,Source As String, HelpFile as String, HelpContext As Long, CancelDisplay AsBoolean)Error事件的语法有如下几个部分:
    部分                     描述
    object一个Winsock控件的对象表达式
    number一个整数,指定错误码。请参阅“设置”中的常量
    description包含错误消息的字符串
    scode长SCODE
    source描述错误源的字符串
    helpFile包含帮助文件名的字符串
    helpContextHelp文件环境
    cancelDisplay指明是否取消该显示动作。缺省是False,显示缺省的错误消息。如果你不想使用缺省的错误消息,可以将其设置为True设置number值的设置如下:
    常量值                      描述
    SckOutOfMemory 7         内存不足
    SckInvalidPropertyValue 380    属性值无效
    SckGetNotSupported       394    不能读取属性值
    SckSetNotSupported        383   属性是只读的
    SckBadState               40006   连接事务或请求的协议或连接状态不正确
    SckInvalidArg              40014       传递给函数的参数格式不正确或范围不对
    SckSuccess                  40017      成功
    SckUnsupported            40018        不支持的变量类型
    SckInvalidOp             40020           对于当前的状态,该操作不正确
    SckOutOfRange                  40021     参数超出了范围
    SckWrongProtocol                40026        连接事务或请求的协议不正确
    SckOpCanceled                  1004        操作被取消
    SckInvalidArgument              10014       请求的地址是广播地址,但没有设置标记
    SckWouldBlock                  10035          插槽是非阻塞的,指定的操作将被阻塞
    SckInProgress                   10036        过程中有阻塞的Winsock操作
    SckAlreadyComplete                10037           操作完成。过程中没有阻塞的Winsock操作
      

  4.   


    Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
    Debug.Print Number, Description
    End Sub