Protocolo STOMP
Simple Text Oriented Messaging Protocol para mensajería interoperable. Conecta a RabbitMQ, ActiveMQ y a cualquier bróker compatible con STOMP desde tus aplicaciones Delphi.
Simple Text Oriented Messaging Protocol para mensajería interoperable. Conecta a RabbitMQ, ActiveMQ y a cualquier bróker compatible con STOMP desde tus aplicaciones Delphi.
STOMP ofrece un protocolo de mensajería sencillo basado en texto que permite la interoperabilidad entre distintos brókers de mensajería e implementaciones cliente.
STOMP está diseñado para ser sencillo y fácil de implementar. A diferencia de los protocolos binarios, STOMP utiliza un formato de trama basado en texto, legible y fácil de depurar. Define un conjunto reducido de comandos — CONNECT, SEND, SUBSCRIBE, UNSUBSCRIBE, ACK, NACK, BEGIN, COMMIT, ABORT y DISCONNECT — que cubren todos los patrones de mensajería habituales. sgcWebSockets implementa el protocolo STOMP sobre conexiones WebSocket, permitiendo que clientes nativos y de navegador se comuniquen con brókers de mensajería empresariales.
Mensajería empresarial simplificada con un protocolo limpio basado en texto.
Las tramas legibles facilitan la depuración y el desarrollo. Cada trama se compone de un comando, cabeceras y un cuerpo opcional.
Totalmente compatible con los brókers de mensajería RabbitMQ y ActiveMQ, proporcionando acceso a infraestructura de mensajería empresarial.
Conjunto de comandos claro que cubre la gestión de conexiones, envío de mensajes y suscripción a topics con una semántica clara.
Solicita confirmaciones de recepción al bróker para asegurar que tus mensajes han sido recibidos y procesados correctamente.
Agrupa varias operaciones SEND y ACK en transacciones atómicas con los comandos BEGIN, COMMIT y ABORT.
Mecanismo automático de keep-alive para detectar conexiones rotas y mantener sesiones persistentes con el bróker.
Escenarios de mensajería empresarial donde STOMP ofrece comunicación sencilla y fiable.
Conecta aplicaciones Delphi a colas de mensajes empresariales para una comunicación fiable y asíncrona entre sistemas.
Habilita una comunicación poco acoplada entre microservicios mediante mensajería basada en topics y patrones de cola.
Construye sistemas orientados a eventos donde los componentes reaccionan a eventos publicados a través de brókers de mensajería STOMP.
Conecta aplicaciones escritas en distintos lenguajes y frameworks a través de un protocolo común.
Conecta a un bróker STOMP, suscríbete a un destino y envía mensajes.
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;