Namespace
Represents a pool of sockets connected under a given scope identified by a pathname (eg: /chat
).
A client always connects to /
(the main namespace), then potentially connect to other namespaces (while using the same underlying connection).
For the how and why, please take a look at: Rooms and Namespaces.
namespace.name
- (String)
The namespace identifier property.
namespace.connected
- (Object)
The hash of Socket
objects that are connected to this namespace, indexed by id
.
namespace.adapter
- (Adapter)
The Adapter
used for the namespace. Useful when using the Adapter
based on Redis, as it exposes methods to manage sockets and rooms across your cluster.
Note: the adapter of the main namespace can be accessed with io.of('/').adapter
.
namespace.to(room)
room
(String)- Returns
Namespace
for chaining
Sets a modifier for a subsequent event emission that the event will only be broadcasted to clients that have joined the given room
.
To emit to multiple rooms, you can call to
several times.
|
namespace.in(room)
Synonym of namespace.to(room).
namespace.emit(eventName[, …args])
eventName
(String)args
Emits an event to all connected clients. The following two are equivalent:
|
Note: acknowledgements are not supported when emitting from namespace.
namespace.clients(callback)
callback
(Function)
Gets a list of client IDs connected to this namespace (across all nodes if applicable).
|
An example to get all clients in namespace’s room:
|
As with broadcasting, the default is all clients from the default namespace (‘/‘):
|
namespace.use(fn)
fn
(Function)
Registers a middleware, which is a function that gets executed for every incoming Socket
, and receives as parameters the socket and a function to optionally defer execution to the next registered middleware.
Errors passed to middleware callbacks are sent as special error
packets to clients.
|
Event: ‘connect’
socket
(Socket) socket connection with client
Fired upon a connection from client.
|
Event: ‘connection’
Synonym of Event: ‘connect’.
Flag: ‘volatile’
Sets a modifier for a subsequent event emission that the event data may be lost if the clients are not ready to receive messages (because of network slowness or other issues, or because they’re connected through long polling and is in the middle of a request-response cycle).
|
Flag: ‘binary’
Specifies whether there is binary data in the emitted data. Increases performance when specified. Can be true
or false
.
|
Flag: ‘local’
Sets a modifier for a subsequent event emission that the event data will only be broadcast to the current node (when the Redis adapter is used).
|