# sockets v2.1.6 - Table of Contents

> Socket handling library for Elixir, updated for OTP20+

## Modules

- [Socket](Socket.md): The top-level entry point for opening network connections.
- [Socket.Address](Socket.Address.md): Utilities for working with IP addresses and hostnames.
- [Socket.Datagram](Socket.Datagram.md): Sends and receives individual packets on connectionless sockets (e.g. UDP).

- [Socket.Datagram.Protocol](Socket.Datagram.Protocol.md)
- [Socket.Helpers](Socket.Helpers.md): A collection of macros that reduce boilerplate across the socket modules.

- [Socket.Host](Socket.Host.md): Looks up information about a host by name or IP address.
- [Socket.Port](Socket.Port.md): This module wraps local running program using `Port`.
- [Socket.Protocol](Socket.Protocol.md)
- [Socket.SOCKS](Socket.SOCKS.md): Lets you connect to a remote host through a SOCKS proxy.
- [Socket.SSL](Socket.SSL.md): This module allows usage of SSL sockets and promotion of TCP sockets to SSL
sockets.
- [Socket.Stream](Socket.Stream.md): Unified interface for stream-based sockets (TCP, SSL, Port).
- [Socket.Stream.Protocol](Socket.Stream.Protocol.md)
- [Socket.TCP](Socket.TCP.md): This module wraps a passive TCP socket using `gen_tcp`.
- [Socket.UDP](Socket.UDP.md): This module wraps a UDP socket using `gen_udp`.
- [Socket.Web](Socket.Web.md): This module implements RFC 6455 WebSockets.

- Exceptions
  - [Socket.Error](Socket.Error.md)

