最近在写无线传输程序涉及到丢包的算法。我们在写程序的时候为了让数据包传输更加可靠,也会用到像TCP这样的协议来传输东西。这里有几个问题,第一个问题:TCP协议里有每法送一个数据包后开启定时器,如果定时间到了发送方没有接到接收方的回应,此时重发数据包,,这里有点疑问,比如发送了123后 当你的超时时间到了没有接到对方的回应,此时又发送了456,程序相当于又循环执行了一遍,把456给发送出去了,此时才判断出超时,此时应该把123456一起发送出去,如果一起发送出去那下次接收到的回应是456的应答还是123456的应答,,一直没有明白这个过程!! 第二个问题:会不是是发送123然后等着什么都不干让对时间超时 再次重发123,直到发送了123收到应答之后再发456吗 这样是不是太浪费资源了。希望大神们帮我答疑解惑。先谢谢贴友们啦
|