Glossary
We will list here the terms that are related to the Socket.IO ecosystem:
Adapter
An Adapter is a server-side component which is responsible for:
- storing the relationships between the Socket instances and the rooms
- broadcasting events to all (or a subset of) clients
Besides the in-memory adapter which is included by default with the Socket.IO server, there are currently 5 official adapters:
- the Redis adapter
- the Redis Streams adapter
- the MongoDB adapter
- the Postgres adapter
- the Cluster adapter
The in-memory adapter can be extended to add support for other messaging systems, like RabbitMQ or Google Pub/Sub for example.
Please see the documentation here.
Engine.IO
Engine.IO is an internal component of Socket.IO, which is responsible for establishing the low-level connection between the server and the client.
You will find more information here.
Namespace
A Namespace is a concept that allows splitting the application logic on the server-side.
Please see the documentation here.
Room
A Room is a server-side concept that allows broadcasting data to a subset of clients.
Please see the documentation here.
Transport
A Transport represents the low-level way of establishing a connection between the server and the client.
There are currently two implemented transports:
- HTTP long-polling
- WebSocket
Please see the documentation here.