SkillAgentSearch skills...

Libkcp

FEC enhanced KCP session library for iOS/Android in C++

Install / Use

/learn @xtaci/Libkcp
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

libkcp

Powered Created At

FEC enhanced KCP client session library for iOS/Android, compatible with kcp-go.

<img src="logo.png" alt="libkcp" height="300px" />

Features

  1. Optimized for Online Games.
  2. Stream based interface, you can easily switch from your TCP based protocol to libkcp or dualstack.
  3. 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

  1. Packet level encryption has not been implemented yet.

Troubleshooting

  1. C++11 is required for compiling.

Related Skills

View on GitHub
GitHub Stars327
CategoryDevelopment
Updated6d ago
Forks126

Languages

C

Security Score

95/100

Audited on Apr 2, 2026

No findings