最近写代码练手,写一个网络发送文件的小程序,可选 TCP 或 UDP 为传输方案。写到 UDP 传输方案的时候发现丢包检测重传之类的逻辑越写越乱越写越复杂,于是准备看下 QUIC 怎么实现的。翻了翻 QUIC 的 RFC 文档,看的我头大。
比较好奇的是,既然 UDP 会丢包,包含传输控制信息的包也是会丢的。控制信息要是丢了,岂不就是 hang 在那里了啊。如果采用超时机制来保证控制信息的重传,这效率(传输速度)就没法保证了。
所以,QUIC 是如何做的呢
比较好奇的是,既然 UDP 会丢包,包含传输控制信息的包也是会丢的。控制信息要是丢了,岂不就是 hang 在那里了啊。如果采用超时机制来保证控制信息的重传,这效率(传输速度)就没法保证了。
所以,QUIC 是如何做的呢