WAMP 协议
Web 应用程序消息传递协议 — 通过 WebSocket 在单一协议中统一实现远程过程调用(RPC)与发布/订阅(PubSub)。
Web 应用程序消息传递协议 — 通过 WebSocket 在单一协议中统一实现远程过程调用(RPC)与发布/订阅(PubSub)。
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 个事件 — 摘自组件参考文档。
已发布属性:Client、Broker。
事件:OnMessage、OnBinary、OnFragmented。
事件:OnConnect、OnDisconnect、OnWelcome。
方法:WriteData。
已发布属性:Version。
方法:Prefix、Subscribe、UnSubscribe。