Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ libkcp Public
forked from xtaci/libkcp

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

License

Notifications You must be signed in to change notification settings

techoes/libkcp

Repository files navigation

libkcp

Powered Build Status

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

libkcp

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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 90.6%
  • C++ 9.2%
  • Other 0.2%

AltStyle によって変換されたページ (->オリジナル) /