请问为什么我(UDP)sendto()发送数据包后,在接收的地方有时会接收到不完整的数据呢?(立即给分!)

sintene 2002-05-07 11:43:10
请问为什么我(UDP)sendto()发送数据包后,在接收的地方有时会接收到不完整的数据呢?
比如我发送"1234567890",有时会收全,有时会收到"12345"这样的呢?
这种问题应该如何解决呢?我怎么才能保证每次发送的数据都是完整的呢?

谢谢!!!
...全文
120 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
fohoo 2002-05-07
先不加密调一下
回复
fohoo 2002-05-07
多半还是程序问题,仔细检查发送和接收时的数据处理代码
回复
fohoo 2002-05-07
多半还是程序问题,仔细检查发送和接收时的数据处理代码
回复
admireO 2002-05-07
是不是你的"1234567890"你接收后没转化成字符串?你看看接收和发送的长度是不是一样就知道接收的对不对。
回复
sintene 2002-05-07
To admire()
哦???是吗?我发送的包是经过Blowfish算法加密的,在接收方解密后就是这样了,后面还跟几个乱码,这是什么原因呢?他还不固定,有时有问题,有时就没问题,我快疯了。我该怎么办啊!:(
回复
xuying 2002-05-07
同意楼上。
回复
sintene 2002-05-07
就用UDP!
回复
admireO 2002-05-07
不可能出现你那种情况,udp是按包接收发送,要么你的包全丢了,要么你的包完整的被接收
回复
qiuanhong 2002-05-07
要保证数据的安全、可靠性,改用TCP吧
UDP是没有保障的。
回复
sintene 2002-05-07
对呀,我说的就是怎么在传输中控制,应该用什么方法呢?就是把逻辑思路说一下,谢谢各位大虾!!
回复
heartwell 2002-05-07
UDP本来就不注重成功率,要求每次成功,用TCP,但速度慢。否则,必须自己在UDP的传输中控制实现。
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2002-05-07 11:43
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……