socket的dataarrival事件中index就是对应用户的索引号,

解决方案 »

  1.   

    请问你说的是remotehostip嘛?方舟?
      

  2.   

    窗体上添加一个winsock,index设置为0以建立一个控件数组.
    添加一个timer控件,检测winsock状态.Dim counter As Long ' 连接记数
    Private Sub Form_Load()
    tcpserver(0).LocalPort = 4001
    tcpserver(0).Listen
    Timer1.Interval = 100
    End SubPrivate Sub tcpserver_ConnectionRequest(Index As Integer, ByVal requestID As Long)
    If Index = 0 Then
    Load tcpserver(counter + 1)
    tcpserver(counter + 1).LocalPort = counter + 4002
    tcpserver(counter + 1).accept requestID
    counter = counter + 1
    MsgBox "ok"
    End If
    End Sub
    Private Sub sendall()
    Dim i As Long
    If counter = 0 Then Exit Sub
    For i = 1 To cpserver.UBound
    tcpserver(i).senddata "data"
    Next
    End SubPrivate Sub Timer1_Timer()
    Dim i As Long
    For i = tcpserver.LBound + 1 To tcpserver.UBound
    If tcpserver(i).State <> sckConnected Then
    tcpserver(i).Close
    Unload tcpserver(i)
    End If
    End Sub
      

  3.   

    谢谢秋雨,另外:tcpserver.LBound和tcpserver.UBound是不是分别指已经load 的winsocket的Index的起,止值?