我一直在网上搜索了几天,我找不到任何人与VB6 Winsock有这个相同的问题。所以这里是我的问题,我有一个数组中有两个winsock的服务器。然后我有两个客户端,每个客户端都有一个winsock控件。现在我建立了服务器首先发送数据给客户端A.然后客户端A接收该数据并将其自己的数据发送回服务器。然后,服务器向客户端B发送数据,一旦客户端B接收到数据,它将自己的数据发送回服务器。所以数据从客户端发送到服务器,然后从服务器发送到另一个客户端,然后返回到服务器,然后到另一个客户端。我这样做是因为当我尝试以我想要的方式进行时,我遇到了问题。所以我必须以这种方式进行设置,以确保在任何时候只有一个客户端向服务器发送数据。这个过程完美地工作,但是我希望它以不同的方式工作,因为就像你可以看到的那样,客户端越多,每个客户端和服务器之间的数据传输延迟就越长。Winsock阵列与数据到达同时停止发送数据到客户端
所以我真正想做的,我无法去工作,有客户端发送和接收数据到服务器,只要他们想。也就是说,客户端A将数据发送到服务器,然后服务器发回数据,而客户端B正在做同样的事情。当我这样做时,即使我在服务器上有一个winsock数组,我也遇到了一个问题。当客户端A首次连接时,它开始向服务器发送和接收数据。但是,一旦客户端B连接到服务器,客户端A和服务器之间的所有通信都会停止,只有客户端B向服务器发送和接收数据。现在我已经完成了一些测试,并且客户端A始终保持与服务器的连接。但由于某种原因,如果两个客户端同时向服务器发送数据,似乎只有一个数据到达事件触发,即使每个winsock都在不同的端口上。我还没有安装VB6 SP6,因为我不确定这会解决问题。
所以我真的希望有人会阅读这些内容并向我解释我不理解的是什么,或者我做错了什么。
您可以发布您开始收听的代码,以及您打开连接的代码以及您接收和发送数据的代码吗? – Hrqls 2013-02-11 08:04:54