******讨论如何达到UDP的速度极限******
在内网穿透后,要用UDP实现文件下载,请大家讨论用什么方案可以让UDP传输的速度达到极限。
我想到的方案是:
AB双方保存一个消息队列,A连续发送一系列的数据包(比如连续发送16个1K的包)且包头都有携带数据总量和包序号以及是否是最后一个包的标志,然后期待对方确认回复。B保持一个接收队列,并且只有当整个系列都接受完毕再发送确认,或者发生了丢包向A报告丢失的序列,A把丢失的序列重发。反复直到这一系列包成功传输完成。。丢包是这样判断:收到最后一个包而前面还有包没有收到或者达到超时时间最后一个包还没有到达。
问题1:这一系列包到底要多少个为好?太多的话丢包会非常严重,太少会因为AB交互太多而影响速度。
问题2:超时时间设置多少为好?
请问如何解决这两个问题,并提出您的方案大家讨论。