UDP怎样可靠传输文件?
有代码更好。 问题点数:100、回复次数:20Top
1 楼zxyjyzxyjy(猜)回复于 2005-09-19 09:58:35 得分 0
UDP能可靠传输吗?学习Top
2 楼saliengu(想吃油条)回复于 2005-09-19 10:04:22 得分 10
udp的可靠传输只能靠上层来控制,对于超时重传等都需要上层来做,很麻烦效率也低,我想用udp来才传送是为了穿越NAT吧Top
3 楼iocpserver(!)回复于 2005-09-19 11:00:57 得分 0
就是p2p的UDP传输文件。Top
4 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-09-19 11:17:26 得分 5
这些需要自己在应用层等来处理Top
5 楼iocpserver(!)回复于 2005-09-19 12:01:56 得分 0
就是问如何在应用层进行可靠控制。Top
6 楼yayafu(维生素C)回复于 2005-09-19 12:35:54 得分 0
你要多可靠?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Top
7 楼iocpserver(!)回复于 2005-09-19 15:28:34 得分 0
不如传输一个文件,不能出错,收到的和发送的是一样。Top
8 楼yanqlv(maomao)回复于 2005-09-19 15:43:31 得分 0
我想你可以考虑加个签名,用MD5或者sha-1Top
9 楼yanqlv(maomao)回复于 2005-09-19 15:46:05 得分 0
说错了,是摘要Top
10 楼iocpserver(!)回复于 2005-09-19 16:33:23 得分 0
准备用滑动窗口协议来做,但是不是很熟。Top
11 楼dirdirdir3(风)回复于 2005-09-19 16:37:41 得分 10
加个crc校验的就可以了。服务器端定时发送,出错直接丢弃,收到正确的要确认。不过效率应该比较低。Top
12 楼iocpserver(!)回复于 2005-09-19 17:11:52 得分 0
哪种方式较高?Top
13 楼baodi_z(冷冷的太阳)回复于 2005-09-19 17:31:54 得分 5
不知道楼主要在什么网络环境下使用
局域网的话使用crc校验就可以了Top
14 楼iocpserver(!)回复于 2005-09-19 18:00:10 得分 0
p2p的internet.Top
15 楼iocpserver(!)回复于 2005-09-30 17:09:42 得分 0
up
up up
up up upTop
16 楼sevencat(七猫)回复于 2005-10-03 21:06:04 得分 10
加个头部,头部加序列号。Top
17 楼flashboy(爱写程序的小绵羊)回复于 2005-10-06 22:46:09 得分 20
关于UDP的校验算法,我是采用的批量验证重传机制. 当然,这比较适合用于传送数据比较大的文件。
如果对于一搬的控制指令通讯,需要一问一答的回复.或者干脆控制指令使用TCP完成.Top
18 楼tb01412(tb)回复于 2005-10-07 10:50:06 得分 30
最可靠的方式是:
在每传一个包都要进行校验
每一个包中加上序列号
引入重传机制,至于采用什么样的重传机制就要看你自己了
可以加上一个包头来存放序列号,包大小,校验码,重传次数等
传输完之后进行文件大小比较Top
19 楼fisker0303(天塌了,地陷了,小花狗不见了.)回复于 2005-10-07 16:24:35 得分 10
接收端做包的排序,和丢包重传机制,效率还是很高滴。Top
20 楼sct()回复于 2005-11-01 10:51:11 得分 0
markTop





