1,连接时出现这个错误: 
run-time error '40020': invalid operation at current state 2,发送时出现的错误: run-time error '40006': 
wrong protocol connection state for the requested transaction or request 讲的是什么意思?我该如何解决他? 
源文件在这里,很简单的。 
Private Sub Command1_Click() 
Winsockserver.SendData Text1.Text 
End Sub Private Sub Command2_Click() 
Winsockserver.Connect 
End Sub Private Sub FORM_Load() 
'设置winsockserver的属性 
Winsockserver.LocalPort = 1001 
'Winsockserver.LocalHostName = "localhost" 
Winsockserver.RemotePort = 1002 
Winsockserver.RemoteHost = "localhost" 
'Winsockclint.RemoteHostIP = "192.168.0.188" 
Winsockserver.Listen 
End Sub Private Sub Winsockserver_ConnectionRequest(ByVal requestID As Long) 
If Winsockserver.State <> sckClosed Then 
Winsockserver.Close 
Winsockserver.Accept requestID 
End If 
End Sub 
这里没有贴出服务端的代码。可是我觉得不用等我贴出来了,因为服务端就一个 
winsock.listen 
, 
还有,根本没有涉及到服务器端,就以及出现这些错误了! 
1,连接时出现这个错误: 
run-time error '40020': invalid operation at current state 

解决方案 »

  1.   

    服务端
    Private intmax As IntegerPrivate Sub Form_Load()
    intmax = 0
    tcpServer(0).LocalPort = 1001
    tcpServer(0).Listen
    Label1.Caption = "正在监听..."
    End SubPrivate Sub tcpServer_ConnectionRequest(index As Integer, ByVal requestID As Long)
    If index = 0 Then
    intmax = intmax + 1
    Load tcpServer(intmax)
    tcpServer(intmax).LocalPort = 0
    tcpServer(intmax).Accept requestIDLabel1.Caption = "有客户连接:" & requestID
    End If
    End SubPrivate Sub tcpServer_DataArrival(index As Integer, ByVal bytesTotal As Long)
    Dim strData As String
    tcpServer(index).GetData strData
    txtOutput.Text = strData
    End Sub
      

  2.   

    客户端
    Private Sub Command1_Click()
    If tcpClient.State = sckConnected Then
    MsgBox "已经连接"Exit Sub
    End If
    tcpClient.ConnectEnd SubPrivate Sub Command2_Click()
    tcpClient.SendData txtSend.Text
    End SubPrivate Sub Form_Load()
    tcpClient.RemoteHost = "localhost"
    tcpClient.RemotePort = 1001
    End SubPrivate Sub tcpClient_DataArrival(ByVal bytesTotal As Long)
    Dim strData As String
    tcpClient.GetData strData
    txtOutput.Text = strData
    End Sub
      

  3.   

    40006的错误就是没有connect到服务端,就调用senddata方法,