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.
Um Ereignisse von einem Topic zu empfangen, muss der Abonnent dieses Topic zunächst abonnieren.
WAMP Client
procedure OnMessageEvent(Connection: TsgcWSConnection; const Text: string);
begin
ShowMessage(Text);
end;
oClient := TsgcWebSocketClient.Create(nil);
oClient.Host := '127.0.0.1';
oClient.Port := 80;
oClientWAMP := TsgcWSPClient_WAMP.Create(nil);
oClientWAMP.Client := oClient.
oClientWAMP.OnMessage := OnMessageEvent;
oClient.Active := True;
// Subscribe to topic after successful connect
oClient.Subscribe('myTopic');
WAMP Server
procedure OnSubscriptionEvent(Connection: TsgcWSConnection; const Subscription: string);
begin
ShowMessage('Subscribed: ' + Subscription);
end;
oServer := TsgcWebSocketServer.Create(nil);
oServer.Port := 80;
oServerWAMP := TsgcWSPServer_WAMP.Create(nil);
oServerWAMP.OnSubscription := OnSubscriptionEvent;
oServerWAMP.Server := oServer;
oServerWAMP.Active := True;