Socket

client. Socket

The Socket class is a simple publish / subscribe wrapper built on top of the isomorphic-ws library. An instance of Socket is automatically created by the soundworks.Client (see client.Client#socket).

Important: In most cases, you should consider using a client.SharedState rather than directly using the sockets.

The Socket class concurrently opens two different WebSockets:

  • a socket configured with binaryType = 'blob' for JSON compatible data types (i.e. string, number, boolean, object, array and null).
  • a socket configured with binaryType= 'arraybuffer' for efficient streaming of binary data.

Both sockets re-emits all "native" ws events ('open', 'upgrade', 'close', 'error' and 'message'.

Methods

addBinaryListener(channel, callback)

Description:
  • Listen binary messages on a given channel

Source:
Parameters:
Name Type Description
channel string

Channel name.

callback function

Callback to execute when a message is received.

addListener(channel, callback)

Description:
  • Listen messages with JSON compatible data types on a given channel.

Source:
Parameters:
Name Type Description
channel string

Channel name.

callback function

Callback to execute when a message is received, arguments of the callback function will match the arguments sent using the server.Socket#send method.

removeAllBinaryListeners(channel)

Description:
  • Remove all listeners of binary compatible messages on a given channel

Source:
Parameters:
Name Type Default Description
channel string null

Channel of the message.

removeAllListeners(channel)

Description:
  • Remove all listeners of messages with JSON compatible data types.

Source:
Parameters:
Name Type Default Description
channel string null

Channel name.

removeBinaryListener(channel, callback)

Description:
  • Remove a listener of binary compatible messages from a given channel

Source:
Parameters:
Name Type Description
channel string

Channel name.

callback function

Callback to remove.

removeListener(channel, callback)

Description:
  • Remove a listener from JSON compatible messages on a given channel.

Source:
Parameters:
Name Type Description
channel string

Channel name.

callback function

Callback to remove.

send(channel, …args)

Description:
  • Send messages with JSON compatible data types on a given channel.

Source:
Parameters:
Name Type Attributes Description
channel string

Channel name.

args * <repeatable>

Payload of the message. As many arguments as needed, of JSON compatible data types (i.e. string, number, boolean, object, array and null).

sendBinary(channel, typedArray)

Description:
  • Send binary messages on a given channel.

Source:
Parameters:
Name Type Description
channel string

Channel name.

typedArray TypedArray

Binary data to be sent.