mirror of
https://github.com/skywind3000/kcp.git
synced 2026-08-23 16:13:28 +08:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7e79edf08d | ||
|
|
23a8bda708 | ||
|
|
d757d5ab4c | ||
|
|
8d52129c60 | ||
|
|
9d641e9633 | ||
|
|
43ea3cb7f3 | ||
|
|
12fa3780f0 | ||
|
|
1e29e4f20e |
46
README.md
46
README.md
@@ -112,22 +112,43 @@ TCP是为流量设计的(每秒内可以传输多少KB的数据),讲究的
|
||||
kcp->rx_minrto = 10;
|
||||
```
|
||||
|
||||
# 更多内容
|
||||
|
||||
# 文档索引
|
||||
|
||||
协议的使用和配置都是很简单的,大部分情况看完上面的内容基本可以使用了。如果你需要进一步进行精细的控制,比如改变 KCP的内存分配器,或者你需要更有效的大规模调度 KCP链接(比如 3500个以上),或者如何更好的同 TCP结合,那么可以继续延伸阅读:
|
||||
|
||||
- [Wiki Home](https://github.com/skywind3000/kcp/wiki)
|
||||
- [KCP 最佳实践](https://github.com/skywind3000/kcp/wiki/KCP-Best-Practice)
|
||||
- [同现有TCP服务器集成](https://github.com/skywind3000/kcp/wiki/Cooperate-With-Tcp-Server)
|
||||
- [传输数据加密](https://github.com/skywind3000/kcp/wiki/Network-Encryption)
|
||||
- [Wiki Home](https://github.com/skywind3000/kcp/wiki)
|
||||
- [KCP 最佳实践](https://github.com/skywind3000/kcp/wiki/KCP-Best-Practice)
|
||||
- [同现有TCP服务器集成](https://github.com/skywind3000/kcp/wiki/Cooperate-With-Tcp-Server)
|
||||
- [传输数据加密](https://github.com/skywind3000/kcp/wiki/Network-Encryption)
|
||||
- [应用层流量控制](https://github.com/skywind3000/kcp/wiki/Flow-Control-for-Users)
|
||||
- [性能评测](https://github.com/skywind3000/kcp/wiki/KCP-Benchmark)
|
||||
|
||||
|
||||
# 相关应用
|
||||
|
||||
|
||||
|
||||
- [dog-tunnel](https://github.com/vzex/dog-tunnel): GO开发的网络隧道,使用 KCP极大的改进了传输速度,并移植了一份 GO版本 KCP
|
||||
- [lua-kcp](https://github.com/linxiaolong/lua-kcp):KCP的 Lua扩展,用于 Lua服务器
|
||||
- [asio-kcp](https://github.com/libinzhangyuan/asio_kcp): 使用 KCP的完整 UDP网络库,完整实现了基于 UDP的链接状态管理,会话控制,KCP协议调度等
|
||||
|
||||
# 协议比较
|
||||
|
||||
如果永远不丢包那么 KCP和 TCP性能差不多,但网络会卡,造成卡的原因就是丢包和抖动。在内网里直接比较,大家都差不多,但是放到公网上,放到3G/4G网络情况下,或者使用内网丢包模拟,差距就很明显了。公网在高峰期有平均接近10%的丢包,wifi/3g/4g下更糟糕,这正是造成各种网络卡顿的元凶。
|
||||
|
||||
感谢 [asio-kcp](https://github.com/libinzhangyuan/asio_kcp) 的作者 [zhangyuan](https://github.com/libinzhangyuan) 对 KCP 与 enet, udt做过的一次横向评测,结论如下:
|
||||
|
||||
- ASIO-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.
|
||||
|
||||
具体见:[横向比较](https://github.com/libinzhangyuan/reliable_udp_bench_mark) 和 [评测数据](https://github.com/skywind3000/kcp/wiki/KCP-Benchmark),为犹豫选择的人提供了更多指引。
|
||||
|
||||
|
||||
|
||||
@@ -135,5 +156,12 @@ TCP是为流量设计的(每秒内可以传输多少KB的数据),讲究的
|
||||
|
||||

|
||||
|
||||
欢迎使用支付宝手扫描上面的二维码,对该项目进行捐赠。捐赠款项将用于改进 KCP性能以及
|
||||
后续持续优化。
|
||||
欢迎使用支付宝手扫描上面的二维码,对该项目进行捐赠。捐赠款项将用于持续优化 KCP协议以及完善文档。
|
||||
|
||||
|
||||
欢迎关注
|
||||
|
||||
blog: http://www.skywind.me
|
||||
|
||||
zhihu: https://www.zhihu.com/people/skywind3000
|
||||
|
||||
|
||||
Reference in New Issue
Block a user