打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
网络通信中使用FEC,当要发送的数据不足时应该怎么处理?

比如每4个数据包冗余1个包,但是上层要发送的数据不足4个包,这时应该怎么处理?是减少冗余度立即发送,还是等数据量够了再发送?我看了一些KCP+FEC库的实现,都是等数据够了再发送,但是如果上层没有新的数据要发,岂不是要一直等待

填充啊。比如要求必须满64byte才够一个封包,那就在后面填充0,然后发送。

另外数据报文往往是有时效性的,不可能数据量不够你就等几分钟甚至半小时,那程序就完蛋了。一般都会设计成“数据量+超时”控制。

比如一个报文只有10个字节,协议层可以先不发,等着;然后过了100ms又来个报文20字节,还是太少,协议层可以仍然不发;再等100ms又来了10字节……如果继续等,第一个报文已经延迟200ms了,这对很多应用来说已经完全无法接受了,用户体验太差。

那么这时候往往要加一个超时时间,比如20ms,过了超时时间就立即发送前面的10字节。这样既能减少冗余,又不至于恶化操作体验。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
ping是如何实现的?用wireshark分析,瞬间明白!
MPLS协议基本知识总结(比较详细,好理解)
MPLS 和 IP 的区别?
UDP 实现可靠传输
【干货】关于IP报文分片的笔记,终于有人分享出来了。
蓝牙连接,一次枯燥但不无聊的“约会”
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服