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.

Hızlı yanıt: sgcWebSockets, STOMP özelliği aracılığıyla TsgcWebSocketClient bileşenine STOMP mesajlaşmasını ekler, böylece Delphi ve C++ Builder uygulamaları RabbitMQ, ActiveMQ veya herhangi bir STOMP broker'ına karşı WebSocket üzerinden abone olabilir, mesaj gönderebilir, işlemler çalıştırabilir ve heart-beat müzakeresi yapabilir.

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 Sıkça Sorulan Sorular

Delphi ve C++ Builder uygulamalarını STOMP broker'larına bağlama hakkında sık sorulan sorular.

Bir TsgcWebSocketClient ekleyin, Host ve Port değerlerini ayarlayın, Specifications.RFC6455.Protocol değerini 'stomp' yapın, ardından STOMP özelliğini etkinleştirin. Bağlandıktan sonra çerçeveleri almak için STOMP.Subscribe ve bir hedefe yayınlamak için STOMP.Send çağırırsınız. Bileşen, STOMP komutlarını uygular: CONNECT, SEND, SUBSCRIBE, ACK, NACK, BEGIN, COMMIT, ABORT ve DISCONNECT.
İstemci RabbitMQ ve ActiveMQ ile ve herhangi bir STOMP uyumlu mesaj broker'ı ile çalışır. STOMP basit, metin tabanlı bir hat protokolü olduğundan, aynı bileşen STOMP belirtimini uygulayan herhangi bir sunucu ile konuşur.
Evet. SEND ve ACK işlemlerini BEGIN, COMMIT ve ABORT ile atomik işlemler halinde gruplayabilir, broker'dan alındı onayları isteyebilir ve bağlantıyı canlı tutmak ve düşen oturumları tespit etmek için STOMP.HeartBeat.Outgoing ve STOMP.HeartBeat.Incoming aracılığıyla heart-beat müzakeresini yapılandırabilirsiniz. STOMP, tarayıcı uyumlu mesajlaşma için WebSocket taşıması üzerinden çalışır.
sgcWebSockets, Delphi 7'den en yeni Delphi sürümüne ve eşleşen C++ Builder sürümlerine kadar Windows, macOS, Linux, iOS ve Android üzerinde destek sağlar. STOMP istemcisini kendi projenizde değerlendirmek için ücretsiz denemeyi indirin.

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.