udp传送大文件问题
1 传送文件时如何拆分
2 由于udp不可靠,如何知道每包是否到达
3 如何知道每包的位置?可能后发的包先到,有没有这种情况??如何解决??
只是探讨一下,谢谢
------解决方案--------------------为什么不用tcp呢?tcp直接支持可靠传输,自己会检测包。
你硬要udp来实现,除非你修改udp协议。你说出来的就是udp的弱点...
------解决方案--------------------那就用http IIS放出来的总不会受不了吧
------解决方案--------------------除非自己在上面再封上一层,最前面加上序号,客户机等信息。
------解决方案--------------------自已做的话,要有分包,校验,重传等机制。比如说,每个小包要知道自己在文件中的位置,并与接收顺序无关。同时要有超时检查,若是一个包超时未到,要申请重发该包。
------解决方案--------------------同ls
的确需要自己建立一套机制
------解决方案--------------------mark
------解决方案--------------------但是我觉得需要自己对机制的制定灵活掌握
如果太简单则会影响正确性
如果太复杂 那还不如直接用tcp
呵呵
------解决方案--------------------虽然UDP是无检验的,但是你可以自己制定一个报文格式。比如IP或客户端号码。以及数据。这样就可以了
------解决方案--------------------定好报文格式就行了。
------解决方案--------------------客户端多的情况下,可以一般的情况下用UDP,当要传输大文件的时候,再新建TCP,用完释放就行了。