WAMP 协议

Web 应用程序消息传递协议 — 通过 WebSocket 在单一协议中统一实现远程过程调用(RPC)与发布/订阅(PubSub)。

TsgcWSPClient_WAMP

WAMP v1 子协议客户端 — 通过 WebSocket 支持 PubSub 与类型化远程过程调用。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 构建实时应用程序。