SocketCluster_v2 Op

SocketCluster

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/


Full Name
  • Ops.Extension.SocketCluster.SocketCluster_v2
Visibility
  •  Extension Op - Visible to all users
License
  • MIT
AuthorgithubMaintained by TeamJavascript Libraries


Example Patch socketcluster example

open this page in another browser or share the url of this patch!

Open In Editor

INPUT PORTS


Active (Number: boolean)

toggle connected/disconnected state

Server hostname (String)

hostname

Server path (String)

path of url

Server port (Number)

server port

Use SSL (Number: boolean)

enable encryption (needs to be supported by server)

Allow send (Number: boolean)

allow sending from this client

Allow multiple senders (Number: boolean)

allow multiple senders

Channel (String)

name of the socketcluster channel

Delay send (ms) (Number: integer)

delay sending messages by x ms

Additional serverdata (Object)

additional data send with every message (can be used for auth-token)

OUTPUT PORTS


Ready (booleanNumber)

connection is ready

Socket (Object)

socket object to connect to other socketcluster ops

Own client id (String)

my own client id

Can send (booleanNumber)

wether or not this client is able/allowed to send messages

Error (String)

error object


Patches using SocketCluster_v2

  • Examples
  • Public
  • My Patches

Changelog


created opuser avatarstephan - 2020-03-18 13:25
added lib: socketcluster-client.jsuser avatarstephan - 2020-03-18 13:26
cloned op from Ops.Net.SocketCluster.SocketClusteruser avatarstephan - 2021-05-11 13:04
Ops.User.stephan.SocketCluster_v2 renamed to Ops.Net.SocketCluster.SocketCluster_v2user avatarstephan - 2021-05-11 13:05
Ops.Net.SocketCluster.SocketCluster_v2 renamed to Ops.Extension.SocketCluster.SocketCluster_v2user avatarstephan - 2022-12-14 08:35
improvementprint error message, remove connection on op delete, return error stringuser avatarstephan - 2024-10-02 16:52