M
masks
Unregistered / Unconfirmed
GUEST, unregistred user!
工作站与服务器以异步方式进行数据交换(WSAGetSelectEvent):
1.工作站先发送一个指令给服务器:
WinSock.Send(SocketClient, Buffer, BufSize, 0);
然后用一个等待循环等待服务器返回对应的处理信息。
2.服务器在接收到这个指令后,返回相应的数据给工作站,有可能返回的是一个文件等。
问题出在当双方的数据交换很频繁时,工作站在等待循环中会出现无限期等待,好像服务没有反应了。
如果在工作站Send一个指令后Sleep(30),接收到服务器的一个数据包后也Sleep(30),则这个问题出现的频率就降低了很多,但没有彻底解决。
请问各位有没有好的办法。
1.工作站先发送一个指令给服务器:
WinSock.Send(SocketClient, Buffer, BufSize, 0);
然后用一个等待循环等待服务器返回对应的处理信息。
2.服务器在接收到这个指令后,返回相应的数据给工作站,有可能返回的是一个文件等。
问题出在当双方的数据交换很频繁时,工作站在等待循环中会出现无限期等待,好像服务没有反应了。
如果在工作站Send一个指令后Sleep(30),接收到服务器的一个数据包后也Sleep(30),则这个问题出现的频率就降低了很多,但没有彻底解决。
请问各位有没有好的办法。