kcpserver 1.0.0

fast kcp server frame.
Documentation

kcpserver

Latest Version Rust Documentation Rust Report Card Rust CI

最好用的RUST KCP 服务器框架

Examples Echo

use kcpserver::prelude::{
    kcp_module::{KcpConfig, KcpNoDelayConfig},
    *,
};
use log::LevelFilter;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    env_logger::Builder::new()
        .filter_level(LevelFilter::Debug)
        .init();

    let mut config = KcpConfig::default();
    config.nodelay = Some(KcpNoDelayConfig::fastest());
    let kcp_server = KcpListener::new("0.0.0.0:5555", config, 1, |peer| async move {
        log::debug!("create kcp peer:{}", peer.to_string());
        let mut buf = [0; 1024];
        while let Ok(size) = peer.recv(&mut buf).await {
            log::debug!("read peer:{} buff:{}", peer.to_string(), size);
            peer.send(&buf[..size]).await?;
        }
        Ok(())
    })?;
    kcp_server.start().await?;
    Ok(())
}