xtaci / kcp-go

A Crypto-Secure Reliable-UDP Library for golang with FEC
MIT License
4.12k stars 737 forks source link

kcp是否支持可丢失传输 #263

Open patstar123 opened 7 months ago

patstar123 commented 7 months ago

当前策略:目前KCP类似与TCP,总是可靠传输每个数据包,但在网络丢包、延迟大的情况下,会导致发送端延迟越来越大,直到占满发送buffer后,阻塞发送端。

期望策略:当接收端检测到丢包后,尽量触发重传,但当重传次数或等待时间超过某个阈值后,将放弃该包,继续处理下个SN的包

应用场景:实时音视频传输,该场景下实时性的需求大于可靠性(参考方案:webrtc中基于rtp/rtcp的jitter buffer + nack + fec)