我使用VB6 + Winsock 制作了一个C/S结构的信息发布系统,如果单个客户端使用的话,可以用。有间隔的单个打开多个客户端,也可以。可是如果使用BAT文件快速的打开多个客户端,就会出错。错误是Winsock收到的消息不正确或丢失。请问如何改正? 服务器端的相关代码: rs.open "****",conn,1,3
while not rs.eof
DoEvents
sckServer(SocketIndex).SendData rs("xxxx")
rs.movenext
wend 客户端的相关代码:
DoEvents
sckClient.GetData s 这个s,当慢慢一个一个打开客户端的时候,是正常的。可是如果快速大量打开,就会出错。s内容就可能为空。 而且发现,上面的Doevents,不论是少一个或多一个,就连单机使用都会出错。请问该怎么解决?
while not rs.eof
DoEvents
sckServer(SocketIndex).SendData rs("xxxx")
rs.movenext
wend 客户端的相关代码:
DoEvents
sckClient.GetData s 这个s,当慢慢一个一个打开客户端的时候,是正常的。可是如果快速大量打开,就会出错。s内容就可能为空。 而且发现,上面的Doevents,不论是少一个或多一个,就连单机使用都会出错。请问该怎么解决?
把rs()拆分成4k,4k一个小单元, 每个单元给所有client循环发。
但是 senddata那一行 改成一个循环(里面4k4k的发,循环中加doevents)即可