如何防止udp包丢失?

wanwan0923 2010-08-14 03:42:36
用c++写的,udp传送数据,把特定格式的数据放到udp的净荷部分,发送能定时吗?如果能定时的话是不是可以防止丢失呢?
...全文
110 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
vifuer_1 2010-12-12
  • 打赏
  • 举报
回复
呵呵,很多人编程都是从windows开始, windows socket网络编程相信很多人都接触过,正好公司业务发展,需要有这方面知识的坛友支持, 有兴趣可以聊聊,待遇嘛,行业主流,呵呵:

基本情况是这样:
熟悉 tcp/ip,udp 协议
熟悉 windows socket网络编程,能熟悉搭建tcp 和 udp 服务器;
在为我公司是做手机流媒体业务的, 所以能熟悉流媒体服务器及rtsp协议就更好;


我的QQ: 44384723
Eleven 2010-08-14
  • 打赏
  • 举报
回复
UDP不保证可靠性,你要自己处理可靠性,加上效验和重传机制等等。参考一下UDT,google一下UDT
ls2141 2010-08-14
  • 打赏
  • 举报
回复
丢失时发送过程中丢包 和你发送无关
UDP安全传输(完整源码) 大家都知道UDP比TCP好用发送速度快很多,程序写起来也简单的多,可缺点也同样明显UDP容易丢,而且不能自动重发也不能自动组没有数据安全机制,发的不能超过2K(INDY,NMUDP等控件都是这样)否则就出错。 可很多需求中又需要发送大量数据并且需要保证速度(如语音和视频通讯或者点对点点播服务。)而且有些重要的数据不允许丢这个时候就需要安全UDP了。 有朋友可能会说那你干嘛不用TCP?TCP不就是安全的UDP吗? 主要因为 1、TCP无法很好的穿透NAT,来进行点对点通讯。 2、通讯过程中需要某些重要的命令不丢失,TCP需要首先建立连接,每个都需要确认。这样发送速度会慢不少。 所以偶需要一个安全的UDP可以发送任意大小,可以保证某些重要的不会丢失,并且可以轻松穿透NAT来进行点对点通讯。 网上四处寻找未果SO自己动手写了一个。具有以下功能(本类是站在前人的肩膀上实现,基类为偶稍加修改过的NMUDP) 1、自动分 2、支持一次性发送任意大小的 3、支持安全控制 4、根据丢率和网速度动态控制发速度(因时间的局限此功能未很好的实现) 5、对于用户透明的接口(开发人员不用关心实现细节可以和使用其它UDP控件一样简单的使用本类)

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

试试用AI创作助手写篇文章吧