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.

Organization

  • [TcpListener] and [TcpStream] provide functionality for communication over TCP
  • [UdpSocket] provides functionality for communication over UDP
  • IpAddr represents IP addresses of either IPv4 or IPv6; Ipv4Addr and Ipv6Addr are respectively IPv4 and IPv6 addresses
  • SocketAddr represents socket addresses of either IPv4 or IPv6; SocketAddrV4 and SocketAddrV6 are respectively IPv4 and IPv6 socket addresses
  • ToSocketAddrs is a trait that used for generic address resolution when interacting with networking objects like [TcpListener], [TcpStream] or [UdpSocket]
  • Other types are return or parameter types for various methods in this module

Rust disables inheritance of socket objects to child processes by default when possible. For example, through the use of the CLOEXEC flag in UNIX systems or the HANDLE_FLAG_INHERIT flag on Windows.

Structs

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

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

A trait for objects which can be converted or resolved to one or more SocketAddr values.