8 Commits
1.2 ... 1.3

Author SHA1 Message Date
skywind3000
7e79edf08d update doc 2016-02-19 16:05:12 +08:00
skywind3000
23a8bda708 update documents 2016-02-19 15:55:40 +08:00
skywind3000
d757d5ab4c 更新文档 2016-02-19 11:18:53 +08:00
skywind3000
8d52129c60 update document 2016-02-18 22:26:05 +08:00
skywind3000
9d641e9633 update document 2016-02-18 22:15:54 +08:00
skywind3000
43ea3cb7f3 add asio-kcp 2016-02-18 22:12:54 +08:00
skywind3000
12fa3780f0 update README.md 2015-12-25 10:48:48 +08:00
skywind3000
1e29e4f20e commit new README.md 2015-12-25 10:48:00 +08:00

View File

@@ -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的数据讲究的
![欢迎使用支付宝对该项目进行捐赠](https://raw.githubusercontent.com/skywind3000/kcp/master/donation.png)
欢迎使用支付宝手扫描上面的二维码,对该项目进行捐赠。捐赠款项将用于改进 KCP性能以及
后续持续优化。
欢迎使用支付宝手扫描上面的二维码,对该项目进行捐赠。捐赠款项将用于持续优化 KCP协议以及完善文档。
欢迎关注
blog: http://www.skywind.me
zhihu: https://www.zhihu.com/people/skywind3000