#zstd #tcp #read-line #tcp-connection #incoming-connection #fdlinecombine

app tcplinecombine

一个简单的 CLI 工具,用于收集来自 TCP 客户端的行并压缩它们(不交错行内的字节)

1 个不稳定版本

0.1.0 2023 年 3 月 5 日

#8#incoming-connection

MIT/Apache

8KB
84

tcplinecombine

私有日志服务器,接受基于行的消息并将其存储到一个压缩文件中。

host1$ tcplinecombine 0.0.0.0:1234 output.zstd -i 5
host1: ...

host2$ date | nc 192.168.0.1 1234
^C
host2$ date | nc 192.168.0.1 1234
^C

host1:
Incoming connection from 127.0.0.1:44750
  finished serving 127.0.0.1:44750
Incoming connection from 127.0.0.1:44762
  finished serving 127.0.0.1:44762
^C (after waiting for 5 seconds)
host1$ zstdcat output.zstd
Sun Mar  5 21:05:05 CET 2023
Sun Mar  5 21:05:07 CET 2023
output.zstd : Read error (39) : premature end

特性

  • 处理多个同时连接和交错传入的行(但不包括字节)。
  • 输出文件使用 zstd 压缩,并定期刷新

安装

Github 发布版 下载预构建的可执行文件,或者使用以下命令从源代码安装:cargo install --path .cargo install tcplinecombine

CLI 选项

tcplinecombine --help 输出
ARGS:
    <listenaddr>

    <outputfile>

OPTIONS:
    -i, --flush-interval <seconds>

    -l, --max-line-length <bytes>

    -h, --help
      Prints help information.

另请参阅

依赖

~7–19MB
~210K SLoC