[−][src]Crate async_net
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
AsyncToSocketAddrs | Converts or resolves addresses to |
Functions
resolve | Converts or resolves addresses to |