udp-stream
é uma biblioteca Rust que fornece uma API simples para lidar com dados de streaming através do User Datagram Protocol (UDP), semelhante ao TcpStream. Ele abstrai as complexidades de trabalhar com UDP, como lidar com fragmentação de pacotes, remontagem e controle de fluxo, tornando mais fácil para os desenvolvedores enviar e receber fluxos contínuos de dados através de soquetes UDP, especialmente ao usar o protocolo DTLS.
Baseado em fluxo : udp-stream
fornece uma camada de abstração para lidar com pacotes UDP como um fluxo contínuo de dados, usando uma assinatura de função semelhante à TcpStream
na biblioteca tokio
. Isso permite que desenvolvedores familiarizados com tokio
aproveitem seu conhecimento existente para trabalhar com UDP de maneira semelhante.
Leve : udp-stream
ocupa pouco espaço e depende apenas das bibliotecas tokio
e bytes
, tornando-o leve e fácil de integrar em seus projetos existentes.
Para usar udp-stream
em seu projeto Rust, basta adicioná-lo como uma dependência em seu arquivo Cargo.toml
:
Tom
udp-stream = "0.0.12"
Então, você pode importar e usar a biblioteca em seu código Rust:
ferrugem
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();
}
}
Para obter mais detalhes sobre como usar udp-stream
, incluindo opções de configuração, uso para DTLS e uso avançado, consulte os exemplos.
Contribuições para udp-stream
são bem-vindas! Se você gostaria de contribuir com a biblioteca, siga as diretrizes padrão da comunidade Rust para contribuir, incluindo abrir problemas, enviar solicitações pull e fornecer feedback.
udp-stream
é licenciado sob a Licença MIT, que permite uso, modificação e distribuição gratuitos, sujeito aos termos e condições descritos na licença.
Esperamos que udp-stream
seja útil para seus projetos! Se você tiver alguma dúvida ou precisar de mais assistência, não hesite em nos contatar ou abrir um problema no repositório.