udp stream
1.0.0
udp-stream
是一個 Rust 函式庫,它提供了一個簡單的 API,用於處理透過使用者資料封包協定 (UDP) 的流數據,類似於 TcpStream。它抽象化了使用 UDP 的複雜性,例如處理資料包分段、重組和流量控制,使開發人員可以輕鬆地透過 UDP 套接字發送和接收連續的資料流,尤其是在使用 DTLS 協定時。
基於流: udp-stream
提供了一個抽象層,用於將 UDP 資料包作為連續資料流進行處理,使用與tokio
庫中的TcpStream
類似的函數簽署。這使得熟悉tokio
的開發人員能夠利用他們現有的知識以類似的方式使用 UDP。
輕量級: udp-stream
佔用空間小,僅依賴tokio
和bytes
庫,使其輕量級且易於整合到您現有的專案中。
要在 Rust 專案中使用udp-stream
,只需將其作為依賴項新增至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
對您的專案有用!如果您有任何疑問或需要進一步協助,請隨時與我們聯絡或在儲存庫中提出問題。