Comments (8)
嗯,最简单的重复fec,或者异或fec,我的wiki里面讲了吧,发送三个包后再发一个异或包(内容等于前三个包每个字节xor),这四个包里任意一个丢失都可以从其他三个xor恢复出来。这套机制很简单,自己写吧,这年头居然没开源就做不了了?
from kcp.
- 我在公网用了fec效果十分明显。
- KCP不负责纠错,因为
这是传输层的事情
,你下面肯定要走udp,你那一层肯定就要做纠错了,为何要放在kcp上做,tcp做纠错是因为tcp裸跑在ip上面的,kcp跑在udp上,udp本身有纠错,而且,udp上面还有一层你自己写的传输封装,那层代码肯定也要考虑纠错,那我kcp里面又来占用几个头部字节纠错干嘛呢?
from kcp.
udp本身有了纠错,但是还不够,还要在udp之上继续做更好的纠错,我这样理解对吧。另外,kcp结合fec这块能否提供开源项目或者资料呢?fec的开源代码真的很少。谢谢skywind!
from kcp.
嗯,最简单的重复fec,或者异或fec,我的wiki里面讲了吧,发送三个包后再发一个异或包(内容等于前三个包每个字节xor),这四个包里任意一个丢失都可以从其他三个xor恢复出来。这套机制很简单,自己写吧,这年头居然没开源就做不了了?
放在KCP层去做FEC也是有道理的吧?接收端通过fec恢复了某个丢包,发往对端的una通知不再重传这个丢包。
from kcp.
另外,接受端接收到重传包后,发现可以fec恢复所在分组,就无需等待该分组中另外丢包。
from kcp.
一层模型做一层模型的事情,不要猫捉耗子啊,wifi 传输也有 fec 啊
from kcp.
另外,接受端接收到重传包后,发现可以fec恢复所在分组,就无需等待该分组中另外丢包。
如果你设计5G 6G手机的空口协议,挑战无线信道的物理极限,那确实必要,fec和arq结合,减少协议层级,可以减少层层协议封装带来的开销。
from kcp.
每个包多了几个字节而已,没意义
from kcp.
Related Issues (20)
- > 没看懂,你要主动丢包么?
- 请问大神,之前在下面这个issue里讨论的丢包问题,什么时候能支持一下呢? HOT 4
- 纯 python 版本实现,申请加入开源案例 HOT 2
- 包模式下如果rcvWnd<255 并且分包数量>=rcvWnd,接受端因为接受不到足够的数量组装完整包而卡住.
- 请教一个关于停止ikcp_update的方法
- 这里检测使用的buffer超过mtu就output一次是不是会导致seg分成两段 HOT 7
- 关于ikcp_check实现的疑问
- test.cpp 运行结果不符合预期 HOT 3
- Multiple multi-thread clients, one server HOT 2
- 关于服务端和多客户端的问题 HOT 6
- 关于上行卡顿,下行包流畅的问题 HOT 7
- 实时流应用场景,crash的疑问 HOT 4
- 关于源码中的慢启动和拥塞避免算法 HOT 3
- 发送端网络受限 ,接收端网络不好,kcp是否会带来改善? HOT 1
- 为每个kcp设置独立的allocator HOT 1
- 使用check机制并不能使cpu使用率下降 HOT 5
- KCP在高延迟环境下怎样使用才能满足大流量,而不是快速响应? HOT 3
- 我用的是C#版的Kcp,每次都得重新new一个对象,想着能重复利用起来,要重置哪些参数就能跟新的一样呢
- 源码中没有定义IKCP_FASTACK_CONSERVE宏导致的重复快重传问题 HOT 3
- ikcp_input函数接口是否应该添加current变量,准确获取当前时间戳? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kcp.