发布于 2016-02-23 09:25:38 | 553 次阅读 | 评论: 0 | 来源: 网友投递
KCP 快速可靠协议
KCP 是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。纯算法实现,并不负责底层协议(如UDP) 的收发,需要使用者自己定义下层数据包的发送方式,以 callback的方式提供给 KCP。 连时钟都需要外部传递进来,内部不会有任何一次系统调用。
KCP协议 1.3发布,进一步提升性能和稳定性,能够在网络高峰期丢包时保持比 libenet 快三倍的数据传送速率:
KCP has good performace in wifi and phone network(3G, 4G).
Extra using 20% ~ 50% network flow for speed improvement.
The kcp is the first choice for realtime pvp game.
The lag is less than 1 second when network lag happen. 3 times better than enet when lag happen.
The enet is a good choice if your game allow 2 second lag.
UDT is a bad idea. It always sink into badly situation of more than serval seconds lag. And the recovery is not expected.
enet has the problem of lack of doc. And it has lots of functions that you may intrest.
kcp's doc is chinese. Good thing is the function detail which is writen in code is english. And you can use asio_kcp which is a good wrap.
The kcp is a simple thing. You will write more code if you want more feature.
UDT has a perfect doc. UDT may has more bug than others as I feeling.