问题: 熟悉UDP文件传输的高手请进 ( 积分: 100 )
分类: Internet/TCPIP
来自: shotgun007, 时间: 2003-06-27 3:06:00, ID: 1984253
小弟有个项目需要用UDP进行远程文件传输,为了提高传输效率并保证文件数据的正确性,准备采用滑窗算法,但是要自己从零开始实现滑窗算法实在是太费时间,有没有哪位大虾有现成的算法,或者有比我的方案更好的建议?
我的邮件:dzh@inleo.com
来自: Minko, 时间: 2003-06-27 9:06:00, ID: 1984424
请问你的设计是不是有问题。
UDP是实现一些需要快速连接(断开连接)不理传输准确性的网络连接。也就是说UDP信息发出后是不理有没有到客户端的。按照介绍只要数据到客户端了就是正确的。
TCP本身就可以保证数据传输的准确性。
来自: chenxz, 时间: 2003-06-27 9:21:00, ID: 1984490
用udp传输文件是死路一条,除非对文件内容不关系,因为udp是会丢包的。tcp才能保证传输内容不丢失。
来自: shotgun007, 时间: 2003-06-27 11:56:00, ID: 1985111
我看可能需要先说明一下什么是滑窗算法:滑窗(Sliding Window)是利用缓冲技术和纠错技术对UDP文件传输进行流量控制和差错控制的高级算法,现在OICQ的最新版本已经采用这种算法来传输文件。UDP可以轻易穿过客户端的网关,甚至各种代理协议,相对于TCP有许多优势。希望大家多加研究。
来自: 航宇, 时间: 2004-08-03 15:08:14, ID: 2746361
楼主找到了好的解决方法了吗?
来自: 乡村月光, 时间: 2004-08-04 4:30:22, ID: 2747209
我是这样做的:对每个数据包编号,数据包里包含编号信息,发送端一次发完所有数据,同时接收对方的反馈消息,反馈消息里包含没接收到的数据包编号,发送端再把丢失的数据重发一次,如此反复直到接收端收到所有数据。在接收端接收到数据包后检查编号顺序,把没接收到的编号保存,并发给发送端,通知发送端重发该数据包。
来自: element, 时间: 2004-08-04 15:51:59, ID: 2748294
如果你非要用UDP进行远程文件传输,推荐你使用INDY中IdTrivialFTPServer。不过从稳定使用还是使用FTPSERVER构件开发。
问题讨论没有结束 ...