一个socket客户端。
在两个Button的Click事件中分别实现connect和senddata没问题(如下):
Private Sub btnConnect_Click()
    SockCL.RemoteHost = txtHostIp.Text
    SockCL.RemotePort = CInt(txtPort.Text)
    SockCL.Connect
End Sub
Private Sub btnSendData_Click()
    SendMsg = Text2.Text    '此时SockCL.State = 7
    SockCL.SendData SendMsg
End Sub但如果将这两步放到一个事件过程中就不行,提示“实时错误40006,所需事物或请求的错误协议或连接状态”
应该就是没有连接上
Private Sub btnConnecntAndSendData_Click()
    SockCL.RemoteHost = txtHostIp.Text
    SockCL.RemotePort = CInt(txtPort.Text)
    SockCL.Connect
                            '此时SockCL.State = 6
   SendMsg = Text2.Text
   SockCL.SendData SendMsg
End Sub
请问这是为什么?如何解决!
谢谢!

解决方案 »

  1.   

    Private Sub btnConnecntAndSendData_Click() 
        SockCL.RemoteHost = txtHostIp.Text 
        SockCL.RemotePort = CInt(txtPort.Text) 
        SockCL.Connect 
        do while SockCL.State = sckConnecting
          DoEvents
        Loop
        if SockCL.State <> sckConnected then Exit Sub
                                '此时SockCL.State = 6 
      SendMsg = Text2.Text 
      SockCL.SendData SendMsg 
    End Sub