c# Socket TCP通信中发生莫名其妙的错误 20

用C#写一个客户端服务端SocketTCP异步通信软件,做了简单的封包处理,发现在程序中使用循环发送的时候,接受端有很大概率接收到的数据不能正常解包,也就是说接收到的数据... 用C#写一个客户端服务端Socket TCP异步通信软件,做了简单的封包处理,发现在程序中使用循环发送的时候,接受端有很大概率接收到的数据不能正常解包,也就是说接收到的数据有部分和我发送的有出入.
但是如果发送端在循环中使用了sleep,就不会出现这个问题.
现在求教大神,这种问题的原因以及解决办法
展开
 我来答
fistlong
2013-10-10 · 超过30用户采纳过TA的回答
知道答主
回答量:69
采纳率:0%
帮助的人:65.2万
展开全部
问题应该发生在接收的上面,当read结束时数据并不一定会接收全所以如果直接发出去的话,发送的数据也是不全的.加了sleep之后read的时间间隔就变长了所以得到完整数据包的可能性就更高了.你最好在接受的时候判断下是否接到了所有数据,再去发送.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式