udp-stream
est une bibliothèque Rust qui fournit une API simple pour gérer les données en streaming via le protocole UDP (User Datagram Protocol), similaire à TcpStream. Il résume les complexités du travail avec UDP, telles que la gestion de la fragmentation, du réassemblage et du contrôle de flux des paquets, permettant ainsi aux développeurs d'envoyer et de recevoir facilement des flux continus de données sur les sockets UDP, en particulier lorsqu'ils utilisent le protocole DTLS.
Basé sur le flux : udp-stream
fournit une couche d'abstraction pour gérer les paquets UDP comme un flux continu de données, en utilisant une signature de fonction similaire à celle TcpStream
dans la bibliothèque tokio
. Cela permet aux développeurs familiers avec tokio
d'exploiter leurs connaissances existantes pour travailler avec UDP de la même manière.
Léger : udp-stream
a un faible encombrement et ne dépend que des bibliothèques tokio
et bytes
, ce qui le rend léger et facile à intégrer dans vos projets existants.
Pour utiliser udp-stream
dans votre projet Rust, ajoutez-le simplement en tant que dépendance dans votre fichier Cargo.toml
:
toml
udp-stream = "0.0.12"
Ensuite, vous pouvez importer et utiliser la bibliothèque dans votre code Rust :
rouiller
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();
}
}
Pour plus de détails sur l'utilisation udp-stream
, y compris les options de configuration, l'utilisation de DTLS et l'utilisation avancée, veuillez vous référer aux exemples.
Les contributions à udp-stream
sont les bienvenues ! Si vous souhaitez contribuer à la bibliothèque, veuillez suivre les directives standard de la communauté Rust pour contribuer, y compris l'ouverture de numéros, la soumission de demandes d'extraction et l'envoi de commentaires.
udp-stream
est sous licence MIT, qui permet une utilisation, une modification et une distribution gratuites, sous réserve des termes et conditions décrits dans la licence.
Nous espérons que udp-stream
sera utile pour vos projets ! Si vous avez des questions ou avez besoin d'aide supplémentaire, n'hésitez pas à nous contacter ou à ouvrir un ticket dans le référentiel.