在p2p的网络环境中,为了能穿越NAT,大家都选择UDP进行网络通讯,但是很多应用都需要保证传输可靠性的
下面就介绍一下一种用UDP进行可靠性传输的思路:
1、发送信息方:
将要发送的数据等分后存入发送队列,从队列中顺序取出第一个包D进行发送,发送时注意,每隔周期T发送一次D,直到接收方有收到该包的信息反馈,再以同样方式发送下一个包,若在N*T时间内没有收到反馈说明网络有问题。
2、接收方:
如果接收到对方发来的数据就发送一个数据包,表明收到该包S,同样地应该每隔周期T发送S,直到接收到下一包后周期性的发送下一个反馈包
在发送的包里面都应该有一个标志能唯一的标志一个数据包,这样才可能保证数据不会混乱。
不过上述方法在用来传输文件时效率会变得比较低下,不能使用些算法。
