STOMP Protokolü
Birlikte çalışabilir mesajlaşma için Simple Text Oriented Messaging Protocol. Delphi uygulamalarınızdan RabbitMQ, ActiveMQ ve herhangi bir STOMP uyumlu broker'a bağlanın.
Birlikte çalışabilir mesajlaşma için Simple Text Oriented Messaging Protocol. Delphi uygulamalarınızdan RabbitMQ, ActiveMQ ve herhangi bir STOMP uyumlu broker'a bağlanın.
STOMP, farklı mesaj broker'ları ve istemci uygulamaları arasında birlikte çalışabilirlik sağlayan basit, metin tabanlı bir mesajlaşma protokolü sunar.
STOMP, basit ve uygulanması kolay olacak şekilde tasarlanmıştır. İkili protokollerin aksine STOMP, insan tarafından okunabilen ve hata ayıklaması kolay, metin tabanlı bir çerçeve biçimi kullanır. Tüm yaygın mesajlaşma desenlerini kapsayan küçük bir komut kümesi tanımlar — CONNECT, SEND, SUBSCRIBE, UNSUBSCRIBE, ACK, NACK, BEGIN, COMMIT, ABORT ve DISCONNECT. sgcWebSockets, STOMP protokolünü WebSocket bağlantıları üzerinden uygular ve tarayıcı ile yerel istemcilerin kurumsal mesaj broker'larıyla iletişim kurmasını sağlar.
Temiz, metin tabanlı bir protokolle basitleştirilmiş kurumsal mesajlaşma.
İnsan tarafından okunabilen çerçeveler, hata ayıklamayı ve geliştirmeyi kolaylaştırır. Her çerçeve bir komut, başlıklar ve isteğe bağlı bir gövdeden oluşur.
Kurumsal mesajlaşma altyapısına erişim sağlayarak RabbitMQ ve ActiveMQ mesaj broker'larıyla tamamen uyumludur.
Bağlantı yönetimini, mesaj göndermeyi ve topic aboneliğini açık semantiklerle kapsayan temiz komut kümesi.
Mesajlarınızın başarıyla alındığından ve işlendiğinden emin olmak için broker'dan makbuz onayları isteyin.
BEGIN, COMMIT ve ABORT komutlarıyla birden fazla SEND ve ACK işlemini atomik işlemler halinde gruplayın.
Bozuk bağlantıları tespit etmek ve kalıcı broker oturumlarını sürdürmek için otomatik keep-alive mekanizması.
STOMP'un basit, güvenilir iletişim sağladığı kurumsal mesajlaşma senaryoları.
Sistemler arasında güvenilir, asenkron iletişim için Delphi uygulamalarını kurumsal mesaj kuyruklarına bağlayın.
Topic tabanlı mesajlaşma ve kuyruk desenleri kullanarak mikroservisler arasında gevşek bağlı iletişimi etkinleştirin.
Bileşenlerin STOMP mesaj broker'ları aracılığıyla yayınlanan olaylara tepki verdiği olay tabanlı sistemler oluşturun.
Ortak bir protokol aracılığıyla farklı dillerde ve framework'lerde yazılmış uygulamalar arasında iletişim köprüsü kurun.
Bir STOMP broker'ına bağlanın, bir hedefe abone olun ve mesaj gönderin.
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';
// STOMP protokolünü yapılandır
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;
// Olay işleyicilerini ayarla
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
// Bir kuyruğa abone ol
WSClient.STOMP.Subscribe('/queue/orders');
end;
procedure TForm1.OnSTOMPMessage(Sender: TObject;
aDestination, aBody: string);
begin
// Gelen mesajları işle
Memo1.Lines.Add(aDestination + ': ' + aBody);
end;
procedure TForm1.ButtonSendClick(Sender: TObject);
begin
// Bir hedefe mesaj gönder
WSClient.STOMP.Send('/queue/orders',
'{"orderId": 12345, "status": "new"}');
end;