Node.js - websocket.send()
Send a message to a connected websocket client.
import { websocket } from '@nitric/sdk'
const socket = websocket('socket')
/**
 * Send a message to a connected client.
 *
 * @param connectionId the client received when connecting to the websocket
 * @param message to send to the client
 */
const sendMessage = async (connectionId, message) => {
  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
 - string | Uint8Array | Record<string, any>
 - 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 { websocket, kv } from '@nitric/sdk'
const socket = websocket('socket')
const connections = kv('connections').for('getting', 'setting', 'deleting')
socket.on('connect', async (ctx) => {
  let conns = {}
  try {
    conns = await connections.get('connections')
  } catch (e) {
    console.log('creating new connections store')
  }
  await connections.set('connections', {
    ...conns,
    [ctx.req.connectionId]: new Date(),
  })
})
socket.on('disconnect', async (ctx) => {
  const conns = await connections.get('connections')
  delete conns[ctx.req.connectionId]
  await connections.set('connections', conns)
})
const broadcast = async (data) => {
  const conns = await connections.get('connections')
  await Promise.all(
    Object.keys(conns).map(async (connectionId) => {
      // Send message to a connection
      await socket.send(connectionId, data)
    })
  )
}
socket.on('message', async (ctx) => {
  // broadcast message to all clients (including the sender)
  await broadcast(ctx.req.data)
})