Expand description
Networking primitives for TCP/UDP communication.
This module provides networking functionality for the Transmission Control and User Datagram Protocols, as well as types for IP and socket addresses.
This module is an async version of std::net
.
Organization
TcpListener
andTcpStream
provide functionality for communication over TCPUdpSocket
provides functionality for communication over UDPIpAddr
represents IP addresses of either IPv4 or IPv6;Ipv4Addr
andIpv6Addr
are respectively IPv4 and IPv6 addressesSocketAddr
represents socket addresses of either IPv4 or IPv6;SocketAddrV4
andSocketAddrV6
are respectively IPv4 and IPv6 socket addressesToSocketAddrs
is a trait that used for generic address resolution when interacting with networking objects likeTcpListener
,TcpStream
orUdpSocket
- Other types are return or parameter types for various methods in this module
Platform-specific extensions
APIs such as Unix domain sockets are available on certain platforms only. You can find
platform-specific extensions in the async_std::os
module.
Examples
A simple UDP echo server:
use async_std::net::UdpSocket;
let socket = UdpSocket::bind("127.0.0.1:8080").await?;
let mut buf = vec![0u8; 1024];
loop {
let (n, peer) = socket.recv_from(&mut buf).await?;
socket.send_to(&buf[..n], &peer).await?;
}
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 socket server, listening for connections.
- A TCP stream between a local and a remote socket.
- 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.