我利用动态加载winsock控见的方法做了一个服务器端的程序。用如下语句发送字符串。但是不是所有的client程序都能接受到数据。不知道是什么原因?
For i = 1 To ServerIndex
    If (sockServer(i).State = sckConnected) Then 
        sockServer(i).SendData sendmsg.text
    Else
        MsgBox "意外错误"
    End If
Next i

解决方案 »

  1.   

    在for...next中间加上!如:For i = 1 To ServerIndex
        doevents
        If (sockServer(i).State = sckConnected) Then 
            sockServer(i).SendData sendmsg.text
        Else
            MsgBox "意外错误"
        End If
    Next i
      

  2.   

    谢谢您的提醒。我用如下代码实现了我要求的功能。就是服务器端发送信息。所有的客户端都可以接收到。再次谢谢您的帮助。
    Dim i As Integer
    Dim str As String
    str = txtSendMsg.Text
     i = 1Do
        DoEvents
        If i > ServerIndex Then
           Exit Do
        Else
        If (sockServer(i).State = sckConnected) Then
            sockServer(i).SendData str
          i = i + 1
          Sleep (100)
        Else
        MsgBox "意外错误"
        'Call CmdDisConnect_Click
        End If
    End If
    Loop