udp-stream
— это библиотека Rust, предоставляющая простой API для обработки потоковых данных через протокол пользовательских датаграмм (UDP), аналогичный TcpStream. Он абстрагирует сложности работы с UDP, такие как обработка фрагментации пакетов, повторная сборка и управление потоком, что упрощает разработчикам отправку и получение непрерывных потоков данных через сокеты UDP, особенно при использовании протокола DTLS.
На основе потока : udp-stream
обеспечивает уровень абстракции для обработки UDP-пакетов как непрерывного потока данных, используя аналогичную сигнатуру функции, что и TcpStream
в библиотеке tokio
. Это позволяет разработчикам, знакомым с tokio
использовать свои существующие знания для аналогичной работы с UDP.
Легкость : udp-stream
занимает мало места и зависит только от библиотек tokio
и bytes
, что делает его легким и простым для интеграции в существующие проекты.
Чтобы использовать udp-stream
в своем проекте Rust, просто добавьте его как зависимость в файл Cargo.toml
:
Томл
udp-stream = "0.0.12"
Затем вы можете импортировать и использовать библиотеку в своем коде Rust:
ржавчина
use std::{net::SocketAddr, str::FromStr};
use tokio::io::{AsyncReadExt, AsyncWriteExt};
use udp_stream::UdpStream;
#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
let mut stream = UdpStream::connect(SocketAddr::from_str("127.0.0.1:8080")?).await?;
println!("Ready to Connected to {}", &stream.peer_addr()?);
let mut buffer = String::new();
loop {
std::io::stdin().read_line(&mut buffer)?;
stream.write_all(buffer.as_bytes()).await?;
let mut buf = vec![0u8; 1024];
let n = stream.read(&mut buf).await?;
print!("-> {}", String::from_utf8_lossy(&buf[..n]));
buffer.clear();
}
}
Более подробную информацию о том, как использовать udp-stream
, включая параметры конфигурации, использование для DTLS и расширенное использование, см. в примерах.
Вклад в udp-stream
приветствуется! Если вы хотите внести свой вклад в библиотеку, следуйте стандартным правилам сообщества Rust, в том числе открывайте проблемы, отправляйте запросы на включение и оставляйте отзывы.
udp-stream
лицензируется по лицензии MIT, которая разрешает бесплатное использование, модификацию и распространение в соответствии с условиями, изложенными в лицензии.
Мы надеемся, что udp-stream
пригодится для ваших проектов! Если у вас есть какие-либо вопросы или вам нужна дополнительная помощь, пожалуйста, не стесняйтесь обращаться к нам или открыть проблему в репозитории.