Dart - websocket.send()
Send a message to a connected websocket client.
import 'package:nitric_sdk/nitric.dart';final socket = Nitric.websocket("socket");await socket.send(connectionId, message);
Parameters
- Name
connectionId
- Required
- Required
- Type
- String
- Description
The ID of the connection which should receive the message.
- Name
message
- Required
- Required
- Type
- Map<String, dynamic>
- Description
The message that should be sent to the connection.
Examples
Broadcasting a message to all connections.
Do not send messages to a connection during it's connect
callback, if you
need to acknowledge connection, do so by using a topic
import 'package:nitric_sdk/nitric.dart';final socket = Nitric.websocket("socket");final connections = Nitric.kv("connections").allow([KeyValueStorePermission.get,KeyValueStorePermission.set,KeyValueStorePermission.delete,]);socket.onConnect((ctx) async {await connections.set(ctx.req.connectionId, {// add metadata"creation_time": DateTime.now(),});return ctx;});socket.onDisconnect((ctx) async {await connections.delete(ctx.req.connectionId);});// broadcast message to all clients (including the sender)socket.onMessage((ctx) async {final conns = await connections.keys();await Future.wait(await conns.map((conn) async {// Send a message to a connectionreturn socket.send(conn, ctx.req.message);}).toList());return ctx;});
Last updated on Nov 14, 2024