WAMP は、RPC と PubSub の 2 つの非同期メッセージングパターンを提供するオープンな WebSocket サブプロトコルです。
技術的には、WAMP は JSON をメッセージシリアル化フォーマットとして使用する公式に登録された WebSocket サブプロトコル(WebSocket 上で動作)です。
RPC とは何ですか?
リモートプロシージャコール(RPC)は、クライアントとサーバーの2つの役割を持つピア間のメッセージングパターンです。
サーバーは、既知のエンドポイントで呼び出すメソッドまたは手続きを提供します。
クライアントは、メソッドまたはプロシージャのエンドポイントと呼び出しの引数を指定して、リモートメソッドまたはプロシージャを呼び出します。
サーバーはコールに提供された引数を使用してメソッドまたはプロシージャを実行し、 コールの結果をクライアントに返します。
PubSubとは何か
Publish & Subscribe (PubSub) は、パブリッシャー、サブスクライバー、ブローカーの 3 つの役割を持つピアが関与するメッセージングパターンです。
パブリッシャーは、特定のピアではなく抽象的なアドレスとしてのトピック(別名チャンネル)を 提供することで、イベントを送信(発行)します。
サブスクライバーは、まず関心のあるトピック(チャンネルとも呼ばれます)を 提供することでイベントを受信します。その後、サブスクライバーは そのトピックに発行されたイベントを受信します。
ブローカーはパブリッシャーとサブスクライバーの間に位置し、メッセージの発行をサブスクライバーに仲介します。ブローカーはトピックごとのサブスクライバーリストを維持し、新しく発行されたイベントを適切なサブスクライバーにディスパッチします。
ブローカーが自ら、たとえばブローカーがRPCサーバーとしても機能し、サーバーで実行されたメソッドがPubSubイベントをトリガーすべき場合に、イベントをディスパッチすることもあります。
まとめると、PubSub は中間者であるブローカーを介してパブリッシャーとレシーバーを分離します。
TsgcWSPServer_WAMP: サーバープロトコル WAMP VCL コンポーネント。
TsgcWSPClient_WAMP: クライアントプロトコル WAMP VCL コンポーネント。
Javascript コンポーネント: クライアント Javascript リファレンス。
このプロトコルをお気に入りのWebブラウザでテストする場合は、 次のURLを入力してください(カスタムのホストとポートを定義する必要があります)
http://host:port/wamp.esegece.com.html