maongo.core.toolkit.SocketEngine extends Engine
Section author: jo
Note
XXXXXXXXXXXXXXX Status 01.11.2010: Zur Diskussion XXXXXXXXXXXXXXXXXXXX
Die SocketEngine dient dazu, aus der Presentation heraus eine Serververbindung zu öffnen (TCP-Socket zu Server``auf ``Port), über die beidseitig Data ausgetauscht werden können.
Bei der SocketEngine einlaufende Daten aus Serverprozessen können folgende Formate haben:
Zu übertragende Daten (Data) müssen auf die SocketEngine geroutet werden. Der Server kann die TCP-Connection ebenfalls nutzen, um Daten zu schicken, die dann ggf. in Data umgewandelt werden und anhand der in der Engine konfigurierten Routen in der Presentation verteilt wird. Eintreffende Transmissions lösen transmission- und data-Signale aus. Ausgehende Data lösen transmit-Signale aus. ?
Setzt die Serveradresse für die Kommunikation:
server.com
172.16.0.123
localhost
Default: null
Nummer des TCP-Ports, über den kommuniziert werden soll.
Default: null
Passwort für die Kommunikation mit Server.
Default: null
Setzt das Text-Encoding für ausgehende Daten.
Default: "utf-8"
Werte: "utf-8", "latin-1"
PingInterval (Time) NICHT Interval
als Zeitangabe.
Default: 30 (30 Sekunden)
Transmission und Data:
Eine Transmission ist angekommen; sie wird als Argument übertragen und kann hier direkt genutzt werden:
<action trigger="transmission" arguments="tr">
trace(tr.getSerial()); //getSerial() ist eine Methode der Transmission-Klasse.
</action>
Ein Data ist angekommen und wird als Argument übertragen:
<action trigger="data" arguments="data">
trace(data.get("Title"));
</action>
Beispiel:
$(this, "commWidget").communicate()
Der automatische Routing-Mechanismus für Data weist für Kommunikations-Engines wie die SocketEngine eine Besonderheit auf:
Wird ein Data von anderer Stelle in der Presentation auf die Engine geroutet, so wird dieses Data zum Server übertragen. Die in der Engine eingetragene Route wird genutzt, um einen vom Server erhaltenen Inhalt zu routen, falls dieser Inhalt geroutet werden kann, also falls er als Data vorliegt.
Aus eingehenden Transmissions werden die einzelnen Data-Objekte so geroutet. Eingehendes JSON wird in ein Data-Objekt verwandelt und ebenfalls geroutet. Jeweils vorausgesetzt, dass entsprechende Routen in der Engine eingetragen sind.