Protocollo STOMP
Simple Text Oriented Messaging Protocol per il messaging interoperabile. Connettiti a RabbitMQ, ActiveMQ e a qualsiasi broker STOMP-compatibile dalle tue applicazioni Delphi.
Simple Text Oriented Messaging Protocol per il messaging interoperabile. Connettiti a RabbitMQ, ActiveMQ e a qualsiasi broker STOMP-compatibile dalle tue applicazioni Delphi.
STOMP è un protocollo di messaging semplice e testuale che permette l'interoperabilità tra diversi message broker e implementazioni client.
STOMP è progettato per essere semplice e facile da implementare. A differenza dei protocolli binari, STOMP utilizza un formato di frame testuale leggibile dall'uomo e immediato da debuggare. Definisce un piccolo set di comandi — CONNECT, SEND, SUBSCRIBE, UNSUBSCRIBE, ACK, NACK, BEGIN, COMMIT, ABORT e DISCONNECT — che coprono tutti i pattern di messaging più comuni. sgcWebSockets implementa il protocollo STOMP su connessioni WebSocket, permettendo a client browser e nativi di comunicare con message broker enterprise.
Messaging enterprise semplificato grazie a un protocollo testuale e pulito.
Frame leggibili dall'uomo rendono il debug e lo sviluppo immediati. Ogni frame è composto da un comando, header e un body opzionale.
Pienamente compatibile con i message broker RabbitMQ e ActiveMQ, per accedere a un'infrastruttura di messaging enterprise.
Set di comandi pulito che copre gestione della connessione, invio dei messaggi e sottoscrizione ai topic con una semantica chiara.
Richiedi al broker conferme di ricezione per assicurarti che i tuoi messaggi siano stati ricevuti ed elaborati correttamente.
Raggruppa più operazioni SEND e ACK in transazioni atomiche con i comandi BEGIN, COMMIT e ABORT.
Meccanismo di keep-alive automatico per rilevare connessioni interrotte e mantenere sessioni persistenti con il broker.
Scenari di messaging enterprise in cui STOMP offre una comunicazione semplice e affidabile.
Collega le applicazioni Delphi a code di messaggi enterprise per una comunicazione asincrona e affidabile tra sistemi.
Abilita una comunicazione a basso accoppiamento tra microservizi tramite messaging basato su topic e pattern di code.
Costruisci sistemi event-driven in cui i componenti reagiscono agli eventi pubblicati tramite message broker STOMP.
Fai da ponte tra applicazioni scritte in linguaggi e framework diversi tramite un protocollo comune.
Connettiti a un broker STOMP, sottoscrivi una destination e invia messaggi.
uses
sgcWebSocket_Client, sgcWebSocket_Types;
var
WSClient: TsgcWebSocketClient;
procedure TForm1.FormCreate(Sender: TObject);
begin
WSClient := TsgcWebSocketClient.Create(nil);
WSClient.Host := 'broker.example.com';
WSClient.Port := 15674;
WSClient.Specifications.RFC6455.Protocol := 'stomp';
// Configure STOMP protocol
WSClient.STOMP.Enabled := True;
WSClient.STOMP.Authentication.Username := 'guest';
WSClient.STOMP.Authentication.Password := 'guest';
WSClient.STOMP.VirtualHost := '/';
WSClient.STOMP.HeartBeat.Outgoing := 10000;
WSClient.STOMP.HeartBeat.Incoming := 10000;
// Set up event handlers
WSClient.OnSTOMPConnected := OnSTOMPConnected;
WSClient.OnSTOMPMessage := OnSTOMPMessage;
WSClient.OnSTOMPReceipt := OnSTOMPReceipt;
end;
procedure TForm1.ButtonConnectClick(Sender: TObject);
begin
WSClient.Active := True;
end;
procedure TForm1.OnSTOMPConnected(Sender: TObject);
begin
// Subscribe to a queue
WSClient.STOMP.Subscribe('/queue/orders');
end;
procedure TForm1.OnSTOMPMessage(Sender: TObject;
aDestination, aBody: string);
begin
// Process incoming messages
Memo1.Lines.Add(aDestination + ': ' + aBody);
end;
procedure TForm1.ButtonSendClick(Sender: TObject);
begin
// Send a message to a destination
WSClient.STOMP.Send('/queue/orders',
'{"orderId": 12345, "status": "new"}');
end;