【引领一个讨论话题:UDP超时重传与确认的实现,讨论结束后前去实现】

qq120848369 2011-09-14 03:57:35
核心概念:

1:超时重传
2:确认

核心问题:

1,发送方包丢失
2,发送方包乱序
3,确认包丢失
4,确认包乱序

设计问题:
一个SOCKET对应一套设施 ?
所有SOCKET对应一个定时器 ?
接收端,发送端分别需要哪些基本数据结构 ?

参考连续ARQ协议进行讨论,有经验人士快支招吧。
...全文
507 52 打赏 收藏 转发到动态 举报
写回复
用AI写文章
52 条回复
切换为时间正序
请发表友善的回复…
发表回复
dfasri 2011-09-15
  • 打赏
  • 举报
回复
只要代码不加注释, 要看懂是很难的了.
架构复杂的代码, 就算注释到处都有, 也是很难看懂的.
有很多特殊的做法, 其目的为的是什么, 这类要推敲的也是很难搞的, 必须经验丰富才能够顺利推敲出来其用意. 放弃研究它, 直接使用它吧, 只要适合用就可以了.
qq120848369 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 44 楼 dfasri 的回复:]
引用 41 楼 qq120848369 的回复:
UDT官网有性能展示的,牛逼不解释,API封装的妥妥的,完全膜拜。


具体的性能测试没有吧, 论坛上也找不到, 普遍说点用CPU较高, 而且设计似乎主要用于P2P类型的. 貌似本机测试的性能稍差.
[/Quote]

我也不太了解,源码读的比较痛苦,已经释然了=,=
dfasri 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 41 楼 qq120848369 的回复:]
UDT官网有性能展示的,牛逼不解释,API封装的妥妥的,完全膜拜。
[/Quote]

具体的性能测试没有吧, 论坛上也找不到, 普遍说点用CPU较高, 而且设计似乎主要用于P2P类型的. 貌似本机测试的性能稍差.
冻结 2011-09-15
  • 打赏
  • 举报
回复
把TCP简化一下加在UDP上,就是一个可靠的UDP了。
要多可靠,就看减多少东西了。
gold_water 2011-09-15
  • 打赏
  • 举报
回复
路过,顺顶。。。
qq120848369 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 40 楼 dfasri 的回复:]

引用 35 楼 qq120848369 的回复:
你去钻研一下UDT源码,我目前在看了。


看过的了, 感觉对我的工程没什么可用之处, 假如你有兴趣, 可以测试一下这个UDT的性能发布一下, 我会非常感激, 目前还在测试自己的服务器, 信心还不是很足够.
[/Quote]

UDT官网有性能展示的,牛逼不解释,API封装的妥妥的,完全膜拜。
dfasri 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 35 楼 qq120848369 的回复:]
你去钻研一下UDT源码,我目前在看了。
[/Quote]

看过的了, 感觉对我的工程没什么可用之处, 假如你有兴趣, 可以测试一下这个UDT的性能发布一下, 我会非常感激, 目前还在测试自己的服务器, 信心还不是很足够.
luciferisnotsatan 2011-09-15
  • 打赏
  • 举报
回复
最近 高朋网 不行了,大规模裁员了。
前几月,网上到处都是高朋的广告
luciferisnotsatan 2011-09-15
  • 打赏
  • 举报
回复
前两月还有个新闻,好像南美一对20岁左右的姐弟,建了个myyearbook,1亿美金被收购了。

qq120848369 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 36 楼 luciferisnotsatan 的回复:]
引用 32 楼 babilife 的回复:

引用 29 楼 dizuo 的回复:
哎,坛子里搞网络的真多。。。现在感觉网络有点过火了。。。


一般都是项目用到学一下,筒子们除非是专门搞网络的,很难系统的全面接触了解,其实水还是蛮深的

过火的是网站应用,如社交网站,团购网什么的。我也觉得过火了。
网络通信这种,应该不会过火,哪都用得到。
[/Quote]

网络好赚钱~~~~~
luciferisnotsatan 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 32 楼 babilife 的回复:]

引用 29 楼 dizuo 的回复:
哎,坛子里搞网络的真多。。。现在感觉网络有点过火了。。。


一般都是项目用到学一下,筒子们除非是专门搞网络的,很难系统的全面接触了解,其实水还是蛮深的
[/Quote]
过火的是网站应用,如社交网站,团购网什么的。我也觉得过火了。
网络通信这种,应该不会过火,哪都用得到。
qq120848369 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 31 楼 dfasri 的回复:]

引用 24 楼 qq120848369 的回复:
求指导...求源码.


源码是不可能有的了, 死心吧. 指导的话, 其实我发布或回复的贴子都有相关的流程.
UDP要安全发送, 流程基本上都一至的, 而协议格式也基本上会是一至的. UDP的安全发送是分情况的, 我写的是专门的CS架构UDP. 要发送数据只能够用C, 要接收数据只能够用S的这种专用模式, 跟TCP是一至的, 必须要有……
[/Quote]

你去钻研一下UDT源码,我目前在看了。
downmooner 2011-09-15
  • 打赏
  • 举报
回复
http://zh.wikipedia.org/zh/UDT

这个就是建立在udp协议上,实现了tcp协议特征的应用层协议
downmooner 2011-09-15
  • 打赏
  • 举报
回复
有个开源的udt啊
至善者善之敌 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 29 楼 dizuo 的回复:]
哎,坛子里搞网络的真多。。。现在感觉网络有点过火了。。。
[/Quote]

一般都是项目用到学一下,筒子们除非是专门搞网络的,很难系统的全面接触了解,其实水还是蛮深的
dfasri 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 qq120848369 的回复:]
求指导...求源码.
[/Quote]

源码是不可能有的了, 死心吧. 指导的话, 其实我发布或回复的贴子都有相关的流程.
UDP要安全发送, 流程基本上都一至的, 而协议格式也基本上会是一至的. UDP的安全发送是分情况的, 我写的是专门的CS架构UDP. 要发送数据只能够用C, 要接收数据只能够用S的这种专用模式, 跟TCP是一至的, 必须要有一个Server进行Listen, 有个Client进行Connect才能够通信的.
不是那种: 只要开了一个UDP, 就能够接收能够发送.
ly_littlefish 2011-09-15
  • 打赏
  • 举报
回复
网络哪里都要用到,不会过火的
前段时间做过视频监控就要这个
最后实在是没有头绪,只能用tcp来做
udp也做过一个,但是不如tcp,最后放弃[Quote=引用 29 楼 dizuo 的回复:]

哎,坛子里搞网络的真多。。。现在感觉网络有点过火了。。。
[/Quote]
dfasri 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 48 楼 jackyjkchen 的回复:]

楼主啊,如果真搞到UDP也得connect建立连接的地步,何必再用udp呢……
[/Quote]

UDP的connect跟TCP的connect, 意义相差甚远...TCP就是内部connect而已. UDP则是客户端有没有权connect. TCP跟UDP, 哪怕是写安全发送也好, 相差实在太远了.
qq120848369 2011-09-15
  • 打赏
  • 举报
回复
[Quote=引用 50 楼 shenyi0106 的回复:]

这个IM软件的消息传递部分,不要求可靠撒,可靠也没用,就一包一包的,丢了就丢了,(貌似QQ有简单确认);文件传输可以用可靠的,也可以用不可靠的,一包一包发,一包一包确认,效率差些而已;视频语音这个就跟无所谓了,丢了几个包根本不影响它显示
[/Quote]

额.
shenyi0106 2011-09-15
  • 打赏
  • 举报
回复
这个IM软件的消息传递部分,不要求可靠撒,可靠也没用,就一包一包的,丢了就丢了,(貌似QQ有简单确认);文件传输可以用可靠的,也可以用不可靠的,一包一包发,一包一包确认,效率差些而已;视频语音这个就跟无所谓了,丢了几个包根本不影响它显示
加载更多回复(32)

65,210

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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