Full-duplex communication is a mode of data exchange in which both endpoints can transmit and receive simultaneously over a single connection. It contrasts with half-duplex, where only one side may send at a time. Full-duplex channels enable low-latency, bidirectional interaction and are central to technologies such as web sockets and real-time messaging.
Overview
- In half-duplex links a side must finish sending before the other can reply, adding latency and limiting interactivity.
- Full-duplex channels remove that turn-taking constraint, allowing continuous two-way data flow.
- Modern web sockets establish a persistent full-duplex channel after an initial handshake, typically over Transmission Control Protocol.
- This mode is essential where both peers must push data spontaneously rather than only respond.
Mechanisms
- A persistent connection is opened and kept alive for the session’s duration.
- Each direction has an independent logical stream so sends and receives do not block one another.
- Framing delimits discrete messages within the continuous byte stream.
- Underlying reliable transport ensures messages arrive intact in both directions.
Key aspects
- Simultaneity: sending and receiving overlap freely.
- Persistence: the channel remains open across many messages.
- Low latency: no per-message connection setup is required.
- Symmetry: both peers can initiate communication at any time.
Applications
- Web socket-based live updates and chat.
- Multiplayer and Real-Time Communication in collaborative tools.
- Streaming telemetry and push notifications.
- Interactive control channels for remote devices.