以前用两台电脑,一台server,一台client时,client不断的往server上发包时,不会出现这种投递失败的情况,平均客户端一秒钟发包4万左右。服务端正常接收。
现在十台客户端电脑,同时向一台服务器发包,每个客户端发包频率为每秒1万个包,不间段的发包给服务端,会有一两台客户端显示发送失败,即WSASendto时,投递未成功,返回错误类型,并非WSA_IO_PENDING。
请高手解答下。谢谢,非常急。
现在十台客户端电脑,同时向一台服务器发包,每个客户端发包频率为每秒1万个包,不间段的发包给服务端,会有一两台客户端显示发送失败,即WSASendto时,投递未成功,返回错误类型,并非WSA_IO_PENDING。
请高手解答下。谢谢,非常急。
发送缓冲区满啊,也会失败。
你期望它应该返回甚么?
NOERROR?那就用同步或者自己while...Sleep等待它的返回值不是PENDING
-----------------------------------------------------------
那你的WSAGetLastError的函数的返回值是什么?
如果将队列的机制改成支持多个线程来生产与多个线程来消费,效率应该会有所提升。我的线程代码是支持的,只是队列没优化成这种。另外,如果将队列改成这种支持多个生产者,多个消费者后,队列中必然会带来锁,因为我要判断哪些是可生产的区域,哪些是可消费的区域。不知道哪位有没有这方面的经验,改成这种后,能带来效率的提升吗?