# Module std::net

1.0.0 · source ·
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 is 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

- IntoIncoming Experimental
  An iterator that infinitely `accept`s connections on a `TcpListener`.
- AddrParseError
  An error which can be returned when parsing an IP address or a socket address.
- Incoming
  An iterator that infinitely `accept`s connections on a `TcpListener`.
- Ipv4Addr
  An IPv4 address.
- Ipv6Addr
  An IPv6 address.
- SocketAddrV4
  An IPv4 socket address.
- SocketAddrV6
  An IPv6 socket address.
- TcpListener
  A TCP socket server, listening for connections.
- TcpStream
  A TCP stream between a local and a remote socket.
- UdpSocket
  A UDP socket.

## Enums

- Ipv6MulticastScope Experimental
  Scope of an IPv6 multicast address as defined in IETF RFC 7346 section 2.
- IpAddr
  An IP address, either IPv4 or IPv6.
- Shutdown
  Possible values which can be passed to the `TcpStream::shutdown` method.
- SocketAddr
  An internet socket address, either IPv4 or IPv6.

## Traits

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