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