#tcp-server #tcp #command #query #server

linebased

为任何程序添加 TCP 查询端口

10 个版本

0.5.0 2021 年 4 月 29 日
0.4.3 2020 年 2 月 10 日
0.4.1 2020 年 1 月 6 日
0.3.1 2018 年 8 月 8 日
0.1.0 2016 年 7 月 25 日

#18#tcp-server

每月 35 次下载

MIT/Apache

22KB
434 代码行

linebased

Build Status Crates.io

即时 TCP 命令服务器

关于

简单的基于行的 TCP 服务器,用于实现命令接口。没有身份验证或 TLS 支持。命令以 Redis 中的同步方式处理。服务器内部使用事件循环来多路复用客户端连接。

使用方法

此示例将尽力保持更新。对于保证准确的示例,请参阅 文档

#[tokio::main]
async fn main() {
    let config = Config::default()
        .host("127.0.0.1")
        .port(5555)
        .max_clients(32)
        .client_buf_size(1024);

    let mut server = Server::new(config, |query| {
        match query {
            "version" => String::from("0.1.0"),
            _ => String::from("unknown command"),
        }
    }).unwrap();

    server.run().await.unwrap();
}

可以通过 netcat 如此访问

jwilm@jwilm-desk ➜ nc localhost 5555
arst
unknown command
version
0.1.0

依赖项

~3–12MB
~116K SLoC