#tcp-server #tcp #response #request #request-response #http #redirect

tcplane

tcplane is a lightweight and high-performance Rust TCP server library designed to simplify network service development. It supports TCP communication, data stream management, and connection handling, focusing on providing efficient low-level network connections and data transmission capabilities, making it ideal for building modern network services.

130 stable releases

new 3.8.3 Mar 11, 2025
3.8.2 Mar 9, 2025
3.0.3 Feb 26, 2025
2.14.1 Feb 21, 2025
0.0.6 Jan 2, 2025

#1223 in Network programming

Download history 2057/week @ 2025-01-01 2264/week @ 2025-01-08 3091/week @ 2025-01-15 195/week @ 2025-01-22 137/week @ 2025-01-29 1241/week @ 2025-02-05 1488/week @ 2025-02-12 1282/week @ 2025-02-19 2731/week @ 2025-02-26 942/week @ 2025-03-05

6,477 downloads per month

MIT license

30KB
696 lines

tcplane

Official Documentation

Api Docs

tcplane is a lightweight and high-performance Rust TCP server library designed to simplify network service development. It supports TCP communication, data stream management, and connection handling, focusing on providing efficient low-level network connections and data transmission capabilities, making it ideal for building modern network services.

Installation

To use this crate, you can run cmd:

cargo add tcplane

Use

use tcplane::*;

async fn test_func(controller_data: ControllerData) {
    let res: ResponseData = controller_data.send("tcplane").await.unwrap();
    controller_data
        .log_debug(
            format!("Response => {:?}\n", String::from_utf8_lossy(&res)),
            log_debug_format_handler,
        )
        .await;
}

async fn run_server() {
    let mut server: Server = Server::new();
    server.host("0.0.0.0").await;
    server.port(60000).await;
    server.log_dir("./logs").await;
    server.log_size(100_024_000).await;
    server.buffer(100_024_000).await;
    server.log_interval_millis(360).await;
    server.func(test_func).await;
    let test_string: String = "test".to_owned();
    server
        .func(async_func!(test_string, |data| {
            println_success!(&test_string);
            println_success!(&format!("{:?}", data));
        }))
        .await;
    server.listen().await;
}

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

Contact

For any inquiries, please reach out to the author at ltpp-universe root@ltpp.vip.

Dependencies

~7–14MB
~167K SLoC