Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. C/C++
  3. KCP

KCP

MITC2.1.1

A fast and reliable ARQ protocol that reduces latency by 30-40% compared to TCP, at the cost of 10-20% more bandwidth.

GitHubGitHub
16.8k stars2.6k forks0 contributors

What is KCP?

KCP is a lightweight, reliable ARQ protocol built on top of UDP, designed to provide faster and more responsive data transmission than TCP. It reduces average latency by 30-40% and cuts maximum latency by three times, at the cost of a 10-20% bandwidth overhead. It solves the problem of TCP's high latency in unreliable network conditions, such as mobile networks or congested public internet.

Target Audience

Developers building real-time applications like online games, live video streaming, VoIP, or any UDP-based protocol that requires reliable, low-latency data delivery. It's particularly useful for those implementing custom network stacks or tunneling solutions.

Value Proposition

Developers choose KCP because it offers fine-grained control over transmission behavior, is extremely lightweight (just two source files), and provides significantly lower latency than TCP in lossy network environments. Its modular design allows easy integration into existing projects without adopting a full protocol stack.

Overview

:zap: KCP - A Fast and Reliable ARQ Protocol

Use Cases

Best For

  • Reducing latency in real-time multiplayer games
  • Accelerating UDP-based tunneling and proxy applications
  • Improving live video and audio streaming over unreliable networks
  • Building custom reliable protocols over UDP
  • Enhancing performance in mobile (3G/4G) and high-loss network environments
  • Creating low-latency P2P communication systems

Not Ideal For

  • Applications where maximizing bandwidth efficiency is critical (e.g., bulk file transfers or video-on-demand streaming)
  • Projects requiring a full, out-of-the-box network stack with built-in encryption and session management
  • Environments where TCP's congestion control and fairness are sufficient, and latency spikes are acceptable
  • Developers unfamiliar with UDP programming who need a plug-and-play solution

Pros & Cons

Pros

Proven Low Latency

Implements selective retransmission, fast ACKs, and a 1.5x RTO multiplier to reduce average latency by 30-40% and maximum latency by 3x compared to TCP, as benchmarked in real-world use.

Lightweight and Embeddable

Consists of only two source files (ikcp.h, ikcp.c) with no system dependencies, allowing easy integration into custom UDP-based protocols without adopting a full stack.

Highly Configurable

Offers tunable parameters like nodelay mode, window sizes, and MTU, enabling optimization for specific network conditions, such as mobile or lossy environments.

Industry Adoption

Used in major projects like Genshin Impact and Alibaba Cloud's GRTN, demonstrating reliability and performance in large-scale, real-time applications.

Cons

Manual Integration Overhead

Requires developers to implement UDP sending/receiving, timing, and session management externally, adding complexity compared to all-in-one libraries.

No Built-in Security

Lacks encryption, authentication, or FEC (Forward Error Correction) by default, forcing users to add separate layers for secure or resilient transmission.

Bandwidth Trade-off

Admits to 10-20% higher bandwidth usage than TCP for latency gains, which may be prohibitive for cost-sensitive or bandwidth-constrained deployments.

Frequently Asked Questions

Quick Stats

Stars16,770
Forks2,612
Contributors0
Open Issues183
Last commit15 days ago
CreatedSince 2014

Tags

#c-library#network-optimization#kcp#ack#transport-layer#c#low-latency#srt#streaming#rtc#game-networking#protocol#real-time#quic#udp

Built With

C
C++

Included in

C/C++70.6k
Auto-fetched 22 hours ago

Related Projects

uWebSocketsuWebSockets

Simple, secure & standards compliant web server for the most demanding of applications

Stars18,880
Forks1,850
Last commit8 days ago
Cpp-HttpLibCpp-HttpLib

A C++ header-only HTTP/HTTPS server and client library

Stars16,561
Forks2,690
Last commit1 day ago
MongooseMongoose

Embedded web server, with TCP/IP network stack, MQTT and Websocket

Stars12,848
Forks2,919
Last commit1 day ago
RedpandaRedpanda

Redpanda is a streaming data platform for developers. Kafka API compatible. 10x faster. No ZooKeeper. No JVM!

Stars12,186
Forks748
Last commit3 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub