概念
KCP - A Fast and Reliable ARQ Protocol,KCP 快速可靠网络传输协议
KCP力求在保证可靠性的情况下提高传输速度。kcp采取一系列措施尽量提高网络传输速率,在网络实时性和可靠性要求比较高的场景下,可以考虑kcp协议代替tcp协议。
KCP是一种快速可靠协议,KCP以比 TCP浪费10%-20%带宽的代价,换取了平均延迟降低 30%-40%的效果,且最大延迟降低三倍的传输效果。
整个协议只有 ikcp.h, ikcp.c两个源文件,可以方便的集成到用户自己的协议栈中。也许你实现了一个P2P,或者某个基于 UDP的协议,而缺乏一套完善的ARQ可靠协议实现,那么简单的拷贝这两个文件到现有项目中,稍微编写两行代码,即可使用。
KCP优势
KCP受到越来越多手游开发项目的关注,最主要的原因是KCP协议可以克服UDP丢包的问题,在比TCP浪费10%~20%带宽的情况下,可以换取平均延迟降低30%~40%,最大延迟降低三倍的效果。
KCP特点
KCP特点很明显,比UDP可靠,比TCP流速快。
与TCP区别
1、TCP是为流量设计的(每秒内可以传输多少KB的数据),讲究充分利用带宽。
2、KCP 是为流速设计的(单个数据包从一端发送到一端需要多少时间),以浪费10%-20%带宽 作为代价,换取了比 TCP快30%-40%的传输速度。
KCP的用途
KCP数据可靠、流速快的特性比较适用于使用帧同步的MOBA类游戏,在视频也有一定市场。
如果网络从来不丢包,直接用 TCP就行了,甚至直