-
-
[原创]UDP稳定传输模块共享,附源码
-
2014-5-11 17:42
10029
-
一直以来都从看雪上做伸手党,今天也共享一点吧。能力有限,封装还凑合,代码可能还有问题,但是传输应该不会出现太大问题。该模块是用于我一个工程上的,所以在看文档上也不用有太多疑惑。
如果能给个精的话,那当然最好了,哈哈。
UDP低速率传输隧道的实现:
由于UDP是不可靠的传输协议,无序并且不稳定,在传输机制中,我们更改了以往的传输机制,为了使其稳定并且可靠,将该传输模块设计为缓冲池传输方式。
在传输时,模块会自动计算文件的大小,并计算切割数量。同时,维护一个缓冲池队列用于准备改文件的数据;在接受端,会监听17173号端口,等待的数据到来。一切准备工作就绪后,发送端首先进行会话,告诉接收端这边数据的实际情况,之后开始发送数据。数据的传输机制是:(1)循环发送每个缓冲池(2)每发送完一个缓冲池之后进行等待,如果接受端反馈重发请求,则将重发序号在缓冲池中进行索引,指针跳转到响应的数据节点,将补充的数据进行重传,若接受到“块接受完毕”的消息,则发送下一个缓冲池。
传输方式的优缺点
优点:
独立于主进程的传输工作,不依赖主进程的网络协议以及数据中心
打破了传统的TCP传输方式
实现了稳定可靠的传输环境
为以后的程序提供可靠的传输模块,实现代码复用
缺点:
传输速率较低,经过测试,传输速度大概在53kb/s
具体文档,以及代码,可执行程序请看附件。
编译环境vs08。
http://pan.baidu.com/s/1hqeKgBE
解压密码:123
[培训]内核驱动高级班,冲击BAT一流互联网大厂工
作,每周日13:00-18:00直播授课