Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB6中的Winsock控件仅向数组中的最后一个索引发送文本消息_Vb6_Client Server_Chat_Winsock_Visual Studio 6 - Fatal编程技术网

VB6中的Winsock控件仅向数组中的最后一个索引发送文本消息

VB6中的Winsock控件仅向数组中的最后一个索引发送文本消息,vb6,client-server,chat,winsock,visual-studio-6,Vb6,Client Server,Chat,Winsock,Visual Studio 6,这可能是一个多年来的话题,但我真的不知道如何才能做到这一点 因此,我在vb6中启动了一个项目,使用winsock控件从局域网上连接的计算机发送和接收消息 在我的项目中,我包括两个winsock控件,即con和conn。con将侦听连接请求并让conn接受请求,因此conn位于一个数组中,以接受来自客户端的多个请求 Private Sub con_ConnectionRequest(ByVal requestID As Long) If conn(0).State = sckClosed

这可能是一个多年来的话题,但我真的不知道如何才能做到这一点

因此,我在vb6中启动了一个项目,使用winsock控件从局域网上连接的计算机发送和接收消息

在我的项目中,我包括两个winsock控件,即con和conn。con将侦听连接请求并让conn接受请求,因此conn位于一个数组中,以接受来自客户端的多个请求

Private Sub con_ConnectionRequest(ByVal requestID As Long)
    If conn(0).State = sckClosed Then
        conn(0).Accept requestID
    Else
        Load conn(socknum)
        conn(socknum).Accept requestID
    End If
    socknum = socknum + 1
End Sub
现在连接了多个客户端,客户端可以向主机发送消息,但主机只能向conn的最后一个索引发送文本消息,或者最后连接的客户端将是唯一可以从主机接收消息的客户端

Private Sub txtSend_KeyPress(KeyAscii As Integer)
    Dim n As Integer
        If KeyAscii = 13 Then
            If ishost = True Then
                For n = 0 To conn.UBound
                   If conn(n).State = sckConnected Then
                       conn(n).SendData txtSend
                   End If
                Next n
            Else
                con.SendData txtSend
            End If
            txtMessages.Text = txtMessages.Text & vbCrLf & txtSend.Text
        End If
End Sub

我无法找出我的代码有什么问题,因此请提供一些帮助或提示,我们非常感谢。

变量ishost在哪里定义? 你能把那个密码寄出去吗

另外,请张贴将值分配给ishost的代码片段


变量socknum在哪里定义? 你能把那个密码寄出去吗? socknum是否在其他地方使用

调试:在conn.UBound的n=0行上放置一个断点,并用F8逐步执行。 执行到这一行了吗? conn.UBound的值是多少