Een subscriber ontvangt events door eerst de topics (ook wel channels genoemd) op te geven waarin hij geïnteresseerd is. Vervolgens ontvangt de subscriber alle events die naar die topic worden gepubliceerd.
Om gebeurtenissen van een onderwerp te ontvangen, moet de abonnee zich eerst abonneren op dat onderwerp.
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;