Zum Inhalt

On Socket.IO Message

Plugin: Socket.IO | Mode: Listen

Reagiere auf Nachrichten, die von einer Webseite oder Web APP über einen Socket.IO Namespace gesendet wurden.

Settings

Namespace

Der Socket.IO Namespace in dem auf eingehende Nachricht gehört werden soll.

Du kannst Namespaces in den Socket.IO Plugin Einstellungen hinzufügen.

room

optional

Die id des rooms in dem auf eingehende Nachrichten gehört werden soll. Es wird nur auf Nachrichten von clients reagiert, die dem room mit join beigetreten sind.

Wenn du über das create topic ein Data Item mit einem room verknüpft hast, kannst du hier auch die Data Item variable angeben.

Gibst du keinen room an, wird auf Nachrichten von allen clients gehört, die mit dem Namespace verbunden sind.

topic

Das Nachrichten topic.

if

optional

Erstelle eine Bedingung, die die eingehende Nachricht erfüllen muss und eine Reaktion, wenn die Bedingung zutrifft. Wenn eine Bedingung erfüllt ist, wird in den angegebenen next state gewechselt oder eine Antwort Nachricht zurückgegeben (respond).

Wenn der potentielle Nachrichten Payload ein JS Object enthält kannst du mit field angeben welche Eigenschaft (Property) im Objekt du auf eine Bedingung überprüfen willst.

Nutze Punkt (.) Notation in field um verschachtelte Eigenschaften im Objekt zu benennen.

Im Kapitel Bedingungen Abfragen mit Conditions findest du mehr über if Abfragen heraus.

Der Wert (value) der if Abfrage ist dabei die eingegangene Nachricht.

Mit respond kannst du direkt auf die Nachricht reagieren. Trifft die entsprechende Bedingung zu wird die respond Nachricht über socket.io callback oder emitWithAck an den client zurückgegeben.

Um Eine liste oder ein Object zurückzugeben wähle string und nutze javascript array oder object syntax. Beispiel:

["rope", "bracelet", "gemstone"]

bzw.

{color: "green", score: 5, friends: ["Grace", "Ada", "Tim"]}

else

optional

Gehe zum next state oder gebe eine Wert mit respond zurück, wenn keine der if Bedingungen zutrifft.

Wenn du keine if Bedingung angegeben hast, wird else bei jeder Nachricht die auf dem angegebenen Namespace und ggf. room auf dem angegebenen topic gesendet wurde ausgelöst.

priority

optional

Es ist möglich, dass mehrere On Socket Message actions auf dem selben Namespace, im selben room auf das gleiche topic hören. Dann wird an den client die respond Nachricht der action mit der höchsten priority zurückgegeben.

Ist die priority bei 2 actions gleich, wird die respond der action zurückgegeben, die als letztes aktiviert wurde.

keep listening and queue

Schalte den On Socket Message listener Stumm anstatt ihn ganz zu schließen, wenn der State, der On Socket Message enthält, verlassen wird.

Es wird dann zwar nicht weiter auf eingehende Nachrichten reagiert, die messages werden aber gespeichert.

Wird der State, der diese On Socket Message Action enthält erneut aufgerufen, werden zunächst die gespeicherten Nachrichten überprüft, bevor der listener beginnt auf weitere Nachrichten zu hören.

Info

Im Kapitel über Schleifen findest du zusätzliche Infos zu keep listening and queue

Action Daten

Du kannst auf die zuletzt Eingegangene Socket.IO Message über die On Socket.IO Message action data variable zugreifen. Nutze etwa:

[[state.MyState.onSocketioMessage_1.message]]

Um auf die zuletzt eingegangenen Nachricht der obersten On Socket.IO Message action im State MyState zuzugreifen.

match

Die Message oder der Teil der Message, die eine if Bedingung in der On Socket.IO Message action erfüllt hat.

Beispiel:

part of the message

message

Gesamte zuletzt eingegangene Message auf dem Topic, dass die On Socket.IO Message action empfangen hat.

Beispiel:

This is not the only part of the message

room

Die room id des room in dem die Nachricht eingegangen ist.

topic

Das Topic der zuletzt eingegangenen Message.

Beispiel:

someTopic

Beispiel

In der Socket.IO Plugin Dokumentation findest du ein Beispiel, wie du die On Socket.IO Message Action verwendest.