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.

STOMP nedir?

STOMP, farklı mesaj broker'ları ve istemci uygulamaları arasında birlikte çalışabilirlik sağlayan basit, metin tabanlı bir mesajlaşma protokolü sunar.

Basit, Birlikte Çalışabilir Mesajlaşma

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.

  • İnsan tarafından okunabilen metin tabanlı protokol
  • Herhangi bir STOMP uyumlu broker ile çalışır
  • Hızlı geliştirme için basit komut kümesi
  • Tarayıcı uyumluluğu için WebSocket üzerinden çalışır
SEND destination:/queue CLIENT BROKER

STOMP Özellikleri

Temiz, metin tabanlı bir protokolle basitleştirilmiş kurumsal mesajlaşma.

Metin Tabanlı Protokol

İ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.

RabbitMQ ve ActiveMQ

Kurumsal mesajlaşma altyapısına erişim sağlayarak RabbitMQ ve ActiveMQ mesaj broker'larıyla tamamen uyumludur.

CONNECT/SEND/SUBSCRIBE

Bağlantı yönetimini, mesaj göndermeyi ve topic aboneliğini açık semantiklerle kapsayan temiz komut kümesi.

Makbuz Onayı

Mesajlarınızın başarıyla alındığından ve işlendiğinden emin olmak için broker'dan makbuz onayları isteyin.

İşlem Desteği

BEGIN, COMMIT ve ABORT komutlarıyla birden fazla SEND ve ACK işlemini atomik işlemler halinde gruplayın.

Heart-Beat Anlaşması

Bozuk bağlantıları tespit etmek ve kalıcı broker oturumlarını sürdürmek için otomatik keep-alive mekanizması.

STOMP Kullanım Senaryoları

STOMP'un basit, güvenilir iletişim sağladığı kurumsal mesajlaşma senaryoları.

Kurumsal Mesaj Kuyruğu

Sistemler arasında güvenilir, asenkron iletişim için Delphi uygulamalarını kurumsal mesaj kuyruklarına bağlayın.

Mikroservis İletişimi

Topic tabanlı mesajlaşma ve kuyruk desenleri kullanarak mikroservisler arasında gevşek bağlı iletişimi etkinleştirin.

Olay Tabanlı Mimariler

Bileşenlerin STOMP mesaj broker'ları aracılığıyla yayınlanan olaylara tepki verdiği olay tabanlı sistemler oluşturun.

Çok Platformlu Mesajlaşma

Ortak bir protokol aracılığıyla farklı dillerde ve framework'lerde yazılmış uygulamalar arasında iletişim köprüsü kurun.

Delphi STOMP Örneği

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;

STOMP ile Başlamaya Hazır mısınız?

Ücretsiz denemeyi indirin ve dakikalar içinde kurumsal mesaj broker'larına bağlanın.