xtaci / Libkcp
Licence: mit
FEC enhanced KCP session library for iOS/Android in C++
Stars: ✭ 243
Programming Languages
c
50402 projects - #5 most used programming language
libkcp
FEC enhanced KCP client session library for iOS/Android, compatible with kcp-go.

Features
- Optimized for Online Games.
- Stream based interface, you can easily switch from your TCP based protocol to libkcp or dualstack.
- FEC(Forward Error Correction) Support with Reed-Solomon Codes
Usage
libkcp has been designed as a Frame-Driven library, the main loop was supposed as:
GameInit()
NetworkInit()
While (!isGameOver) Do // e.g: A 30FPS Game
LibKCP.Read()
LibKCP.Write()
LibKCP.Update()
Game.Logic()
Game.Render()
Wait(33ms) // clock
End
The Read/Write/Update
functions of libkcp are guaranteed to be non-blocking.
Please read kcp_test.cpp fec_test.cpp
for library usage.
Demo
start echo server(golang)
$go get github.com/xtaci/kcp-go
$go run kcpserver.go
compile and run libkcp(Best with CLion), and watch output.
Caveats
- Packet level encryption has not been implemented yet.
Troubleshooting
- C++11 is required for compiling.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].