WAMP プロトコル

Web Application Messaging Protocol ― WebSocket 上で RPC(リモートプロシージャコール)と PubSub(パブリッシュ/サブスクライブ)を一つのプロトコルに統合しています。

TsgcWSPClient_WAMP

WAMP v1 サブプロトコルクライアント ― WebSocket 上での PubSub と型付き RPC に対応します。WAMP2 のルーター側バリアントは TsgcWSPClient_WAMP2 に含まれています。

コンポーネントクラス

TsgcWSPClient_WAMP

プロトコル

WAMP v1 (PubSub + RPC)

プラットフォーム

Windows, macOS, Linux, iOS, Android

エディション

Professional / Enterprise

コンポーネントを配置してプロパティを設定するだけ

TsgcWebSocketClient とペアリングし、OnWelcome をバインドして、Prefix / Subscribe / Publish / Call を呼び出すだけです。

uses
  sgcWebSocket, sgcWebSocket_Protocol_WAMP_Client;

var
  WSClient: TsgcWebSocketClient;
  WAMP: TsgcWSPClient_WAMP;
begin
  WSClient := TsgcWebSocketClient.Create(nil);
  WSClient.Host := 'router.example.com';
  WSClient.Port := 8080;

  WAMP := TsgcWSPClient_WAMP.Create(nil);
  WAMP.Client := WSClient;

  WAMP.OnWelcome    := WAMPWelcome;
  WAMP.OnEvent      := WAMPEvent;
  WAMP.OnCallResult := WAMPCallResult;

  WSClient.Active := True;
end;

procedure TForm1.WAMPWelcome(Connection: TsgcWSConnection;
  SessionId, ProtocolVersion, ServerIdent: string);
begin
  WAMP.Prefix('app', 'http://example.com/');
  WAMP.Subscribe('app:news');
  WAMP.Publish('app:news', 'hello');
  WAMP.Call('call-1', 'app:rpc', '{"x":1}');
end;

procedure TForm1.WAMPEvent(Connection: TsgcWSConnection;
  TopicURI, Event: string);
begin
  Memo1.Lines.Add(TopicURI + ': ' + Event);
end;

主な機能

公開プロパティ 3 個、メソッド 7 個、イベント 13 個 ― コンポーネントリファレンスより。

接続

公開プロパティ:ClientBroker

メッセージング

イベント:OnMessageOnBinaryOnFragmented

ライフサイクル

イベント:OnConnectOnDisconnectOnWelcome

高度な操作

メソッド:WriteData

診断

公開プロパティ:Version

PubSub

メソッド:PrefixSubscribeUnSubscribe

仕様と参考資料

本コンポーネントが実装するプロトコルの公式リファレンスです。

ドキュメントとデモ

コンポーネントリファレンスへのディープリンク、すぐに実行可能なデモプロジェクト、そして体験版のダウンロードはこちらです。

オンラインヘルプ — Protocol_WAMP 本コンポーネントのプロパティ、メソッド、イベントの完全なリファレンスです。
デモプロジェクト — Demos\Protocols\WAMP すぐに実行可能なサンプルプロジェクトです。sgcWebSockets パッケージに同梱されています。下記より体験版をダウンロードしてください。
技術ドキュメント (PDF) 本コンポーネントのみを対象とした機能解説、クイックスタート、Delphi、C++ Builder および .NET のコードサンプル、一次資料への参照を収録しています。
ユーザーマニュアル (PDF) ライブラリ内のすべてのコンポーネントを網羅した総合マニュアルです。

WAMP を始める準備はできましたか?

体験版をダウンロードして、統合された RPC と PubSub でリアルタイムアプリケーションを構築しましょう。