WAMP ist ein offenes WebSocket-Subprotokoll, das zwei asynchrone Messaging-Muster bietet: RPC und PubSub.
Technisch ist WAMP ein offiziell registriertes WebSocket-Subprotokoll (läuft auf WebSocket), das JSON als Nachrichtenserialisierungsformat verwendet.
Was ist RPC?
Remote Procedure Call (RPC) ist ein Messaging-Muster, an dem Peers mit zwei Rollen beteiligt sind: Client und Server.
Ein Server stellt Methoden oder Prozeduren bereit, die unter bekannten Endpunkten aufgerufen werden können.
Ein Client ruft Remote-Methoden oder -Prozeduren auf, indem er den Methoden- oder Prozedur-Endpunkt und alle Argumente für den Aufruf bereitstellt.
Der Server führt die Methode oder Prozedur mit den für den Aufruf übergebenen Argumenten aus und gibt das Ergebnis des Aufrufs an den Client zurück.
Was ist PubSub?
Publish & Subscribe (PubSub) ist ein Messaging-Muster, an dem Peers mit drei Rollen beteiligt sind: Publisher, Subscriber und Broker.
Ein Publisher sendet (veröffentlicht) ein Ereignis, indem er ein Topic (auch Kanal genannt) als abstrakte Adresse angibt, nicht einen bestimmten Peer.
Ein Abonnent empfängt Ereignisse, indem er zunächst Topics (auch Kanäle genannt) bereitstellt, an denen er interessiert ist. Anschließend empfängt der Abonnent alle Ereignisse, die für dieses Topic veröffentlicht werden.
Der Broker sitzt zwischen Publishern und Subscribern und vermittelt Nachrichten, die an Subscriber veröffentlicht werden. Ein Broker führt Listen von Subscribern pro Topic, sodass er neu veröffentlichte Ereignisse an die entsprechenden Subscriber verteilen kann.
Ein Broker kann Events auch von sich aus dispatchen, zum Beispiel wenn der Broker auch als RPC-Server fungiert und eine auf dem Server ausgeführte Methode ein PubSub-Event auslösen soll.
Zusammenfassend entkoppelt PubSub Publisher und Empfänger über einen Vermittler, den Broker.
TsgcWSPServer_WAMP: Server-Protokoll-WAMP-VCL-Komponente.
TsgcWSPClient_WAMP: Client Protocol WAMP VCL-Komponente.
Javascript Component: Client-Javascript-Referenz.
Wenn Sie dieses Protokoll mit Ihrem bevorzugten Webbrowser testen möchten, geben Sie bitte diese URL ein (Sie müssen Ihren benutzerdefinierten Host und Port definieren)
http://host:port/wamp.esegece.com.html