Private Sub WinsockTCP_ConnectionRequest _
(requestID As Long)
   If Winsock1.State <> sckClosed Then Winsock1.Close
   Winsock.Accept requestID
End Subindex是索引值 是因为你添加了多个winsock控件 用来辨识不同的控件的!!!!!

解决方案 »

  1.   

    谢谢,您举的那段代码我知道,可是那是socket已经存在的情况.象我那个程序,socket还没有生成,在下面load的,那个if语句该怎么写啊,帮帮我好吗
      

  2.   

    Index就是控件在控件数组中的标志啊!就是你说的“0号元素”
    你的每个控件实例的端口设置了吗?我好像没看见。试设一下
      

  3.   

    1.在静态的时候我知道index是索引,不会有混淆,可是那你说在我上面的的Private Sub ccSocket_ConnectionRequest函数里,index应当等于几呢?我的socket还没有生成,那个if语句究竟该用index来判断还是用totaluser或totaluser+1来判断呢2.可是有人告诉我动态生成的实例不用设端口
    要是设的话怎么设啊,对方的remotehost还是指向你的侦听端口,他怎么会知道你的新端口呢
      

  4.   

    我不太清楚你所问的问题,不过我想下面的代码会有一定的帮助。
    Private Sub ccSocket_ConnectionRequest(Index As Integer, ByVal requestID As Long)
    Dim lngINDEX As Long
        For lngINDEX = 1 To ccSocket.Count - 1
            If ccSocket(lngINDEX).State = 0 Or ccSocket(lngINDEX).State = 9 Then
                ccSocket(lngINDEX).Accept requestID
                ccSocket(TotalUser).SendData "000" + my_Name
                Exit Sub
            End If
        Next lngINDEX
        
        lngINDEX = ccSocket.Count
        Load ccSocket(lngINDEX)
        ccSocket(lngINDEX).Accept requestID    ccSocket(TotalUser).SendData "000" + my_Name
    End Sub