7 个版本
0.2.1 | 2021 年 10 月 23 日 |
---|---|
0.2.0 | 2021 年 10 月 6 日 |
0.1.4 | 2019 年 7 月 17 日 |
0.1.3 | 2018 年 12 月 11 日 |
0.1.0 | 2017 年 12 月 22 日 |
#7 在 #expect
794 次每月下载
用于 4 crates
36KB
642 行
telnet-rs
简单的 Telnet 实现。
示例
阻塞读取
use telnet::{Telnet, Event};
fn main() {
let mut telnet = Telnet::connect(("ptt.cc", 23), 256)
.expect("Couldn't connect to the server...");
loop {
let event = telnet.read().expect("Read error");
if let Event::Data(buffer) = event {
// Debug: print the data buffer
println!("{:?}", buffer);
// process the data buffer
}
}
}
非阻塞读取
use telnet::{Telnet, Event};
fn main() {
let mut telnet = Telnet::connect(("ptt.cc", 23), 256)
.expect("Couldn't connect to the server...");
loop {
let event = telnet.read_nonblocking().expect("Read error");
if let Event::Data(buffer) = event {
// Debug: print the data buffer
println!("{:?}", buffer);
// process the data buffer
}
// Do something else ...
}
}
写入
use telnet::Telnet;
fn main() {
let mut telnet = Telnet::connect(("ptt.cc", 23), 256)
.expect("Couldn't connect to the server...");
let buffer: [u8; 4] = [83, 76, 77, 84];
telnet.write(&buffer).expect("Read error");
}
待办事项
- 减少不必要的数据复制
- 添加覆盖率检查
- 添加 crate 级文档
依赖
~97KB