[]
The Connection class represents a bidirectional communication channel between server and client instances, enabling sending and receiving messages, broadcasting, and event management.
The server creates a Connection
object upon client connection, which is used to manage communication with a specific client. The server accesses this object through Middleware and Hooks.
id: The unique identifier of the connection (string).
console.log(connection.id); // "XBtqzsRMPh7MaVvaAAAB"
roomId: The ID of the room to which the connection belongs (string).
query: The query parameters provided when the client connects (key-value pair object).
auth: The client's authentication data (key-value pair object).
tags: A Map for storing custom data.
connection.tags.set('role', 'admin');
Use the send
method to send messages to the server.
send(data: MessageData, type?: MessageType): void;
Parameters
data
: The data to be sent.
type
(optional): The message type, used to identify the purpose or category of the message
Using the broadcast()
method to broadcast messages to clients in the same room.
broadcast(data: MessageData, type?: MessageType, includeSelf?: boolean): void;
Parameters
data
: The content of the message to be sent.
type
: The message type, defaults to an empty string.
includeSelf
(optional): If set to true
, all clients in the room (including the current connection) will receive the message.
Examples
Broadcast a message to all clients in the same room except the sender:
connection.broadcast('hello, client!');
Broadcast a message to all clients in the same room, including the sender:
connection.broadcast('hello, client!', '', true);
use the close
method to close the connection with the client.
connection.close();
This method will terminate the current connection with the client and clean up related resources.