Expand description
Async networking primitives for TCP/UDP/Unix communication.
This crate is an async version of std::net and std::os::unix::net.
§Implementation
This crate uses async-io for async I/O and blocking for DNS lookups.
§Examples
A simple UDP server that echoes messages back to the sender:
use async_net::UdpSocket;
let socket = UdpSocket::bind("127.0.0.1:8080").await?;
let mut buf = vec![0u8; 1024];
loop {
let (n, addr) = socket.recv_from(&mut buf).await?;
socket.send_to(&buf[..n], &addr).await?;
}Re-exports§
pub use std::net::IpAddr;pub use std::net::Ipv4Addr;pub use std::net::Ipv6Addr;pub use std::net::Shutdown;pub use std::net::SocketAddr;pub use std::net::SocketAddrV4;pub use std::net::SocketAddrV6;pub use std::net::AddrParseError;
Modules§
- unix
- Unix domain sockets.
Structs§
- Incoming
- A stream of incoming TCP connections.
- TcpListener
- A TCP server, listening for connections.
- TcpStream
- A TCP connection.
- UdpSocket
- A UDP socket.
Traits§
- Async
ToSocket Addrs - Converts or resolves addresses to
SocketAddrvalues.
Functions§
- resolve
- Converts or resolves addresses to
SocketAddrvalues.