mirror of
https://github.com/skywind3000/kcp.git
synced 2026-08-19 14:13:28 +08:00
Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b1a7a2101d | ||
|
|
f4694f598d | ||
|
|
c102b9b7f5 | ||
|
|
37c1c01da1 | ||
|
|
9aed788c9d | ||
|
|
2e1bd4a2c1 | ||
|
|
1ca0b18a43 | ||
|
|
284a977276 | ||
|
|
fbd716b257 | ||
|
|
31c2ae0529 | ||
|
|
46eed3ef30 | ||
|
|
19459fa64d | ||
|
|
fddd37687d | ||
|
|
32da082e52 |
69
.gitignore
vendored
69
.gitignore
vendored
@@ -1,14 +1,69 @@
|
||||
*.o
|
||||
*
|
||||
!*/
|
||||
!*.*
|
||||
|
||||
*.obj
|
||||
*.o
|
||||
*.lib
|
||||
*.ipch
|
||||
*.pch
|
||||
*.sdf
|
||||
*.exe
|
||||
*.a
|
||||
*.p
|
||||
*.dll
|
||||
*.so
|
||||
*.dylib
|
||||
*.ncb
|
||||
*.sdf
|
||||
|
||||
.tasks
|
||||
.root
|
||||
__pycache__
|
||||
/build/*
|
||||
/example/build/*
|
||||
/gateway/build/*
|
||||
|
||||
/.vscode/*
|
||||
/.idea/*
|
||||
/.DS_Store
|
||||
/.env
|
||||
/build/*
|
||||
/.vs/*
|
||||
/.cache/*
|
||||
/testing/*.xlsx
|
||||
/testing/*.txt
|
||||
/update.cmd
|
||||
.vs
|
||||
/visualstudio/Debug/*
|
||||
/visualstudio/Release/*
|
||||
/visualstudio/x64/*
|
||||
/visualstudio/bbnet/*
|
||||
/visualstudio/.vs/*
|
||||
/visualstudio/bbnet.vcxproj.user
|
||||
|
||||
/x64/*
|
||||
/Debug/*
|
||||
/Release/*
|
||||
/bbnet/*
|
||||
|
||||
*.vcxproj.user
|
||||
/update.cmd
|
||||
|
||||
*.pcap
|
||||
*.win32
|
||||
*.linux
|
||||
*.linux2
|
||||
*.log
|
||||
|
||||
*.pyc
|
||||
*.pyo
|
||||
*.pyd
|
||||
|
||||
__pycache__/*
|
||||
|
||||
/session*.md
|
||||
/skills/*
|
||||
|
||||
/.qoder/*
|
||||
/.opencode/*
|
||||
/.claude/*
|
||||
/.iflow/*
|
||||
|
||||
nul
|
||||
|
||||
|
||||
|
||||
@@ -182,12 +182,14 @@ Both the use and configuration of the protocol is straightforward, in most cases
|
||||
- [kcp-java](https://github.com/hkspirt/kcp-java):Implementation of Java version of KCP protocol.
|
||||
- [kcp-netty](https://github.com/szhnet/kcp-netty):Java implementation of KCP based on Netty.
|
||||
- [java-kcp](https://github.com/l42111996/java-Kcp): JAVA version KCP, based on netty implementation (including fec function)
|
||||
- [kcp.kt](https://github.com/jokelbaf/kcp.kt): A pure-Kotlin Multiplatform implementation of KCP. Supports JVM, Linux, Windows, macOS and iOS targets.
|
||||
- [csharp-kcp](https://github.com/l42111996/csharp-kcp): csharp version KCP, based on dotNetty implementation (including fec function)
|
||||
- [kcp-go](https://github.com/xtaci/kcp-go): High-security GO language implementation of kcp, including simple implementation of UDP session management, as a base library for subsequent development.
|
||||
- [kcp-csharp](https://github.com/limpo1989/kcp-csharp): The csharp migration of kcp, containing the session management, which can access the above kcp-go server.
|
||||
- [KcpTransport](https://github.com/Cysharp/KcpTransport): KcpTransport is built on top of KCP ported to Pure C#, with implementations of Syn Cookie handshake, connection management, Unreliable communication, and KeepAlive. In the future, encryption will also be supported.
|
||||
- [Kcp-CSharp](https://github.com/Molth/Kcp-CSharp): a pure C# KCP instance callback(delegate) wrapper for (Unity/Godot/.NET)
|
||||
- [kcp2k](https://github.com/vis2k/kcp2k/): Line-by-line translation to C#, with optional Server/Client on top.
|
||||
- [KcpSharpN](https://github.com/new1271/KcpSharpN): The csharp version of KCP, translated from the original C code, includes a simple wrapper of the protocol for easy use, but also allows calling the functions of the KCP protocol directly (just like C code)
|
||||
- [kcp-rs](https://github.com/en/kcp-rs): The rust migration of KCP
|
||||
- [kcp-rust-native](https://github.com/b23r0/kcp-rust-native):KCP bindings for Rust
|
||||
- [lua-kcp](https://github.com/linxiaolong/lua-kcp): Lua extension of KCP, applicable for Lua server
|
||||
|
||||
@@ -22,6 +22,8 @@ KCP是一个快速可靠协议,能以比 TCP 浪费 10%-20% 的带宽的代价
|
||||
|
||||
整个协议只有 ikcp.h, ikcp.c两个源文件,可以方便的集成到用户自己的协议栈中。也许你实现了一个P2P,或者某个基于 UDP的协议,而缺乏一套完善的ARQ可靠协议实现,那么简单的拷贝这两个文件到现有项目中,稍微编写两行代码,即可使用。
|
||||
|
||||
**注意:KCP 目前更新到 V2,增加了可插拔的流控算法机制,可以不改协议的情况下替换流控算法,老的 v1 足够稳定,我放到了 v1 这个 branch 里。**
|
||||
|
||||
|
||||
# 技术特性
|
||||
|
||||
@@ -163,6 +165,7 @@ vcpkg中的kcp库由Microsoft团队成员和社区贡献者保持最新状态。
|
||||
- [kcp-java](https://github.com/hkspirt/kcp-java): Java版本 KCP协议实现。
|
||||
- [kcp-netty](https://github.com/szhnet/kcp-netty): kcp的Java语言实现,基于netty。
|
||||
- [java-kcp](https://github.com/l42111996/java-Kcp): JAVA版本KCP,基于netty实现(包含fec功能)
|
||||
- [kcp.kt](https://github.com/jokelbaf/kcp.kt): 纯 Kotlin 多平台(Kotlin Multiplatform)实现的 KCP 协议,支持 JVM、Linux、Windows、macOS 和 iOS 等目标平台。
|
||||
- [csharp-kcp](https://github.com/l42111996/csharp-kcp): csharp版本KCP,基于dotNetty实现(包含fec功能)
|
||||
- [kcp-cpp](https://github.com/Unit-X/kcp-cpp): KCP 的多平台(Windows、MacOS、Linux)C++ 实现作为应用程序中的简单库。包含适用于所有平台的套接字处理和辅助函数。
|
||||
- [kcp-perl](https://github.com/Homqyy/kcp-perl): kcp的Perl实现,其是面向对象的,Perl-Like的。
|
||||
@@ -172,6 +175,7 @@ vcpkg中的kcp库由Microsoft团队成员和社区贡献者保持最新状态。
|
||||
- [KcpTransport](https://github.com/Cysharp/KcpTransport): kcp的csharp移植,实现了 Syn Cookie 握手、连接管理、不可靠通信、KeepAlive,未来还将支持加密。
|
||||
- [Kcp-CSharp](https://github.com/Molth/Kcp-CSharp): kcp的csharp移植,非托管包装器。
|
||||
- [kcp2k](https://github.com/vis2k/kcp2k/): Line-by-line translation to C#, with optional Server/Client on top.
|
||||
- [KcpSharpN](https://github.com/new1271/KcpSharpN): 将原始 C 语言源代码复刻到 Csharp 的移植,包含一个简易的协定包装器与原始的 KCP 协定呼叫
|
||||
- [kcp-rs](https://github.com/en/kcp-rs): KCP的 rust移植
|
||||
- [kcp-rust](https://github.com/Matrix-Zhang/kcp):新版本 KCP的 rust 移植
|
||||
- [tokio-kcp](https://github.com/Matrix-Zhang/tokio_kcp):rust tokio 的 kcp 集成
|
||||
@@ -223,7 +227,7 @@ KCP 成功的运行在多个用户规模上亿的项目上,为他们提供了
|
||||
- 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.
|
||||
- kcp's doc is chinese. Good thing is the function detail which is written 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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user