读书人

socket编程遇到很奇怪的有关问题

发布时间: 2012-01-12 22:11:58 作者: rapoo

socket编程,遇到很奇怪的问题,高分求教
本人使用socket编程,同步方式,服务器send次数大概为200多次,客户端接受200多次,次数相同,而且次序一致,发一次接受一次。但是运行十次大概有两次就要出错,其他几次都可以正确接受数据,为什么会这样?求教了

[解决办法]
tcp和udp在接收时都会做crc校验的,出错的概率比较小,绝对不会10中错1、2次。
看来问题应该出现在楼主的代码里。
贴出代码,主要是socket怎样初始化,怎样收发
[解决办法]
简单,因为你send发送的间隔比较小,网卡会把多个send做为一个包同时发送,接受处理的时候就会出错。

处理方法:自己把多个send合为一个send。或者每个send后Sleep(10)
[解决办法]
发送包太小而且太连续的时候,系统底层就会在缓冲区里自动合并
貌似有个设置可以让它直接发送


-------------------------------------------------------
广告:VC/WinAPI 网络/多线程讨论 QQ群, 群号:41356711
[解决办法]
Sleep一下似乎不是很好,send如果可以合并就合并一下

读书人网 >VC/MFC

热点推荐