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.
KCP 是一个快速可靠协议,能以比 TCP浪费10%-20%的带宽的代价,换取平均延迟降低
30%-40%,且最大延迟降低三倍的传输效果。纯算法实现,并不负责底层协议(如UDP) 的收发,需要使用者自己定义下层数据包的发送方式,以
callback的方式提供给 KCP。 连时钟都需要外部传递进来,内部不会有任何一次系统调用。
整个协议只有 ikcp.h, ikcp.c两个源文件,可以方便的集成到用户自己的协议栈中。 也许你实现了一个P2P,或者某个基于 UDP的协议,而缺乏一套完善的ARQ可靠协议实现, 那么简单的拷贝这两个文件到现有项目中,稍微编写两行代码,即可使用。 |