[![Powered][1]][2] [![Build Status][3]][4] [1]: https://img.shields.io/badge/KCP-Powered-blue.svg [2]: https://github.com/skywind3000/kcp [3]: https://travis-ci.org/xtaci/libkcp.svg?branch=master [4]: https://travis-ci.org/xtaci/libkcp FEC enhanced KCP client session library for iOS/Android, compatible with kcp-go.
- Optimized for Real-Time Strategy Game.
- Stream based interface, you can easily switch from your TCP based protocol to libkcp or dualstack.
libkcp has designed as a Frame-Driven library, the main loop was supposed as:
GameInit()
NetworkInit()
While(not gameover) Do // e.g: A 30FPS Game
Network.Read()
Network.Write()
Network.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.
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.
- Packet level encryption has not implemented yet.
- C++11 is required for compiling.