#tftp #mio #protocols #networking

tftp_server

Rust 中使用 mio 实现的 TFTP 服务器

3 个版本

0.0.3 2019年11月19日
0.0.2 2016年9月23日
0.0.1 2016年9月20日

#11 in #tftp

Download history 259/week @ 2024-03-13 142/week @ 2024-03-20 198/week @ 2024-03-27 242/week @ 2024-04-03 535/week @ 2024-04-10 214/week @ 2024-04-17 242/week @ 2024-04-24 103/week @ 2024-05-01 453/week @ 2024-05-08 81/week @ 2024-05-15 147/week @ 2024-05-22 286/week @ 2024-05-29 199/week @ 2024-06-05 140/week @ 2024-06-12 128/week @ 2024-06-19 54/week @ 2024-06-26

每月595 次下载

MIT 协议

190KB
727 代码行

tftp-server

Rust 中实现的 TFTP 服务器

Build Status

构建和运行服务器

为了构建服务器,请运行 cargo build --example server

默认情况下,服务器将选择一个随机开放的端口号并从当前目录 ./ 提供文件。

$ ./target/debug/examples/server
Server created at address: V4(127.0.0.1:61204)

在这个示例中,选择的端口号是 61204。

您也可以使用 -p-d 标志指定端口号和目录。使用 --help 标志可以显示所有可用的标志。

$ ./target/debug/examples/server -p 61204 -d ./files
Server created at address V4(127.0.0.1:61204)

如果端口已被占用或使用端口时出现错误,服务器将引发 IoError 异常。

$ ./target/debug/examples/server -p 20
thread 'main' panicked at 'Error creating server: IoError(Os { code: 13, kind: PermissionDenied, message: "Permission denied" })', src/libcore/result.rs:1165:5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

您还可以启用日志记录来运行服务器。为此,在命令之前添加 RUST_LOG=tftp_server=info。例如

$ RUST_LOG=tftp_server=info ./target/debug/examples/server

这将运行具有日志记录功能的服务器,以便您可以检查程序的行为。

测试

要运行测试,请运行 cargo test。但是,如果您想显示测试期间程序输出,则必须启用日志记录。要启用日志记录运行测试,请

$ RUST_LOG=tftp_server=info cargo test

依赖项

~5MB
~99K SLoC