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
There are currently two official adapters:
- the in-memory adapter, which is included by default with the Socket.IO server
- the Redis adapter, which is useful when scaling horizontally (see here)
- the MongoDB 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.