一、以下代码
Private Sub tcpServer_ConnectionRequest(ByVal requestID As Long)
On Error GoTo Errc      ServerSock1 (0).Accept requestID
      ServerSock1 (1).Accept requestID
      
Exit Sub
Errc:
   MsgBox Err.Description & " id:" & Err.Number & "  SOURCE:" & Err.Source
End Sub为什么一个客户端的CONNECT请求被ServerSock1(0) 接收(Accept)后,ServerSock1 (1).Accept还可以正常执行?
二、 以上代码执行后,在服务器端发送消息
Private Sub Command1_Click()
    ServerSock1 (0).SendData "  消息来自(0)"   
End SubPrivate Sub Command2_Click()
ServerSock1 (1).SendData "  消息来自(1)"
End Sub客户端接收代码
Private Sub CLientSock_DataArrival(ByVal bytesTotal As Long)
    
    Dim S As String
    CLientSock.GetData S
    
End SubCommand1_ Click 执行后 CLientSock _DataArrival未接收到消息
Command2_ Click 执行后 CLientSock_DataArrival 接收到消息为什么ServerSock1 (0) 发的消息,客户端 没有接收到?

解决方案 »

  1.   

    其实就是覆盖。真正起效的只有后 Accept 的 ServerSock1(1)。
    从功能上来说,两次 Accept 属于错误代码。
      

  2.   


    非常感谢。有点不明白,1、你所说的 两次 Accept 属于错误代码,是指 第二次 Accept 属于错误代码,也就是说
          ServerSock1 (0).Accept requestID
          ServerSock1 (1).Accept requestID
    这两句  都 是错误代码,还是说
          只有ServerSock1 (1).Accept requestID是错误代码2、既然 是错误代码,为什么还能正常执行。
      

  3.   

    编码思路“错误”——编码不正常。
    正常代码是不会写两次 Accept 的。