Crate smol::net

source · []
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?;
}

Modules

Unix domain sockets.

Structs

An error which can be returned when parsing an IP address or a socket address.

A stream of incoming TCP connections.

An IPv4 address.

An IPv6 address.

An IPv4 socket address.

An IPv6 socket address.

A TCP server, listening for connections.

A TCP connection.

A UDP socket.

Enums

An IP address, either IPv4 or IPv6.

Possible values which can be passed to the TcpStream::shutdown method.

An internet socket address, either IPv4 or IPv6.

Traits

Converts or resolves addresses to SocketAddr values.

Functions

Converts or resolves addresses to SocketAddr values.