8 releases
0.2.2 | Oct 6, 2024 |
---|---|
0.2.1 | Oct 23, 2021 |
0.1.4 | Jul 17, 2019 |
0.1.3 | Dec 11, 2018 |
0.1.0 | Dec 22, 2017 |
#597 in Network programming
486 downloads per month
Used in 5 crates
36KB
642 lines
telnet-rs
A simple Telnet implementation.
Examples
Blocking Reading
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
}
}
}
Non-Blocking Reading
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 ...
}
}
Writing
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");
}
TODOs
- reduce unnecessary data copy
- add coverage check
- add crate-level documentation
Dependencies
~98KB