日期:2014-05-20  浏览次数:20974 次

udp传送大文件问题
1   传送文件时如何拆分
2   由于udp不可靠,如何知道每包是否到达
3   如何知道每包的位置?可能后发的包先到,有没有这种情况??如何解决??

只是探讨一下,谢谢

------解决方案--------------------
为什么不用tcp呢?tcp直接支持可靠传输,自己会检测包。
你硬要udp来实现,除非你修改udp协议。你说出来的就是udp的弱点...
------解决方案--------------------
那就用http IIS放出来的总不会受不了吧
------解决方案--------------------
除非自己在上面再封上一层,最前面加上序号,客户机等信息。

------解决方案--------------------
自已做的话,要有分包,校验,重传等机制。比如说,每个小包要知道自己在文件中的位置,并与接收顺序无关。同时要有超时检查,若是一个包超时未到,要申请重发该包。
------解决方案--------------------
同ls

的确需要自己建立一套机制
------解决方案--------------------
mark
------解决方案--------------------
但是我觉得需要自己对机制的制定灵活掌握

如果太简单则会影响正确性


如果太复杂 那还不如直接用tcp


呵呵
------解决方案--------------------
虽然UDP是无检验的,但是你可以自己制定一个报文格式。比如IP或客户端号码。以及数据。这样就可以了
------解决方案--------------------
定好报文格式就行了。
------解决方案--------------------
客户端多的情况下,可以一般的情况下用UDP,当要传输大文件的时候,再新建TCP,用完释放就行了。