beta
cables is under heavy development.
There might be one or another bug, please let us know about it!

SocketCluster Op

 extension op - visible to all users


SocketCluster

Op author: stephan
Maintained by Team: SocketCluster

Uses library: socketcluster client (socketcluster client)

connect to a socketcluster server and manage the connection


SocketCluster connects to the websocket at the given hostname. Then you define a channel that all the messages will be sent to. SocketCluster outputs a socket that has to be used in senders and receivers.

There can be multiple sockets in one patch.

Every message has a "topic" and a datatype, only the relevant datatypes will be received by the right receiving ops listening to that "topic".

In default mode only one "client" is allowed to send, this is controlled by the "allowSend" input. On changing this, all the other clients will be notified and change to "listening" state.

By enabling "allow multiple senders" all the clients are allowed to send (depending on their setting of "allowSend"). This can lead to endless loops in for example a setup where a TriggerChangeValue triggers a send, then the message is received and changes the value...be careful!

Clients do not handle their own messages, every statechange has to be done directly in the patch as well. This is to avoid more possibilities for endless loops.

For more information visit: https://socketcluster.io/



Inputs

server hostname (String)

socketcluster server

server path (String)

socketcluster path (defaults to "/socketcluster")

server port (Number)

socketcluster port (usually 443 for ssl)

use ssl (boolean /Number)
allow send (boolean /Number)

allow sending of messages

allow multiple senders (boolean /Number)

send when other clients are allowed to send

channel (String)

name of channel

delay send (ms) (integer /Number)

delay sending of all messages by number of ms

Additional server-data (Object)

add data outside the payload for the socketcluster server to read, can be used for auth-token or sessiondata

Outputs

ready (boolean Number)

connection is ready

socket (Object)

socket object for send/recieve ops

own client id (String)
can send (boolean Number)

whether this client is allowed to send

error (Object)

error


Caught a mistake or want to contribute to the documentation?

Edit Documentation 

SocketCluster example


Patches using SocketCluster

  • Public
  • My Patches

Changelog


created op
2020-03-18 - stephan
added lib: socketcluster-client.js
2020-03-18 - stephan
Ops.Net.SocketCluster.SocketCluster renamed to Ops.Extension.SocketCluster.SocketCluster
2022-12-14 - stephan