eSeGeCe — Enterprise-Kommunikationskomponenten für Delphi & .NETZum Inhalt springen
IM FOKUS · sgcMQ
Jeder Broker, ein Träger
Sieben Client-Komponenten sprechen MQTT 3.1.1 und 5.0, AMQP 0.9.1, AMQP 1.0, das Apache-Kafka-Wire-Protokoll und STOMP 1.0 bis 1.2, mit Broker-Dialekten für RabbitMQ und ActiveMQ. Jeder Frame wird in Object Pascal innerhalb der Bibliothek geparst und geschrieben, es gibt also kein librdkafka, kein Paho, kein Qpid und keine DLL auszuliefern. Alle sieben laufen auf einem TsgcTCPClient, unverschlüsselt geöffnet oder in TLS verpackt.
sgcMQ ist ein eigenständiges Paket. Es bringt die sgcWebSockets Core Runtime mit, auf der es aufbaut, und jede Lizenz wird mit vollständigem Quellcode ausgeliefert, sodass du die Protokollimplementierungen in deinem eigenen Debugger Schritt für Schritt durchgehen kannst.
7Client-KomponentenMQTT, AMQP 0.9.1, AMQP 1.0, Kafka, STOMP, STOMP RabbitMQ und STOMP ActiveMQ, auf einer Palettenseite.
5ProtokollfamilienJedes Wire-Format wird in Object Pascal geparst und geschrieben, innerhalb der Bibliothek.
6ZielplattformenWin32, Win64, Linux64, macOS, iOS und Android, aus einem einzigen Quellbaum.
0Externe BibliothekenKein librdkafka, kein Paho, kein Qpid, keine DLL und kein vorgeschalteter REST-Proxy.
1Transport-TrägerEin TsgcTCPClient trägt alle sieben, TLS, Proxy und Reconnect werden also nur einmal konfiguriert.
MQ
sgcMQ
Message-Queue- und Streaming-Clients für Delphi und C++ Builder. Ein eigenständiges Paket mit enthaltener sgcWebSockets Core Runtime, vollständigem Quellcode und royaltyfreier Bereitstellung auf allen sechs Zielplattformen.
Zieh die Protokollkomponente auf ein Formular, weise ihrer Client-Eigenschaft einen TsgcTCPClient zu, verdrahte die Ereignisse und rufe dann die eigenen Verben des Protokolls auf. Die Benennung ist über alle sieben hinweg konsistent, wer eine gelernt hat, ist bei den übrigen schon fast am Ziel.
MQTT 3.1.1 & 5.0
Publish, Subscribe und die komplette QoS-Maschinerie
TsgcWSPClient_MQTT deckt beide Protokollversionen hinter einer einzigen MQTTVersion-Eigenschaft ab. QoS 0, 1 und 2, wobei der PUBACK-, PUBREC-, PUBREL- und PUBCOMP-Austausch als Ereignisse sichtbar wird, statt versteckt zu bleiben, dazu Retained Messages, Last Will and Testament, Wildcard-Subscriptions und wiederaufnehmbare Sitzungen. Version 5 ergänzt Reason Codes, User Properties, Topic-Aliasse, Shared Subscriptions und den AUTH-Roundtrip.
TsgcWSPClient_AMQP spricht AMQP 0.9.1, das Protokoll, für das RabbitMQ gebaut wurde: Channels, Exchange- und Queue-Deklaration, Bindings, Consumer, Publisher-Bestätigungen, Prefetch-QoS und Transaktionen. TsgcWSPClient_AMQP1 spricht AMQP 1.0, den OASIS-Standard hinter Azure Service Bus und Event Hubs: Container, Sessions, Sender- und Receiver-Links, kreditbasierte Flusskontrolle, SASL und die Claims-Based-Security-Helfer. Anderes Wire-Format, anderes Objektmodell, deshalb gibt es für jedes eine eigene Komponente.
TsgcWSPClient_Kafka spricht das Kafka-Wire-Protokoll über TCP, einschließlich des v2-Record-Batch-Formats. Produziere mit gewähltem Acks-Level und Gzip-Kompression, konsumiere über eine Gruppe, in der Coordinator-Discovery, Join, Sync, Heartbeat und Rebalance für dich erledigt werden, oder lies eine Partition per Offset.
TsgcWSPClient_STOMP beherrscht SEND, SUBSCRIBE, UNSUBSCRIBE, ACK, NACK, Receipts, bidirektionales Heart-Beating und die Transaktions-Frames BEGIN, COMMIT und ABORT. Zwei Nachfahren machen aus den Destination-Konventionen der Broker benannte Methoden, einer für RabbitMQ und einer für ActiveMQ.
Alle sieben Clients und der Träger darunter sind für Win32, Win64, Linux64, macOS, iOS und Android registriert, von Delphi 7 bis RAD Studio 13 und unter C++ Builder. Das Messaging-Paket kennt keine Plattformeinschränkung.
Erzeuge die Protokollkomponente, weise den Träger zu, hänge die Ereignisse ein, rufe die Verben auf. Der Wechsel von einem unverschlüsselten zu einem verschlüsselten Listener ist eine Portnummer und TLS := True am Träger, und darüber ändert sich nichts.
Dieselbe Form in Object Pascal und in C++ Builder, und dieselbe Form für die anderen drei Komponenten. Die vollständige Funktionsmatrix →
BEVOR DU KAUFST
Zwei Dinge, die du vorher wissen solltest
Was sgcMQ von dir braucht und wie die Bytes zum Broker gelangen. Beide Antworten sind kurz, und beide stehen auf dieser Seite statt im Kleingedruckten.
Native Broker-Listener
Protokoll Komponente TCP TLS
MQTT 3.1.1 / 5.0 TsgcWSPClient_MQTT18838883
AMQP 0.9.1 TsgcWSPClient_AMQP56725671
AMQP 1.0 TsgcWSPClient_AMQP156725671
Apache Kafka TsgcWSPClient_Kafka9092*
STOMP TsgcWSPClient_STOMP61613*
STOMP, RabbitMQ TsgcWSPClient_STOMP_RabbitMQ6161361614
STOMP, ActiveMQ TsgcWSPClient_STOMP_ActiveMQ6161361612* je nachdem, wie der verschlüsselte Listener des Brokers
konfiguriert ist. Dies sind die üblichen Standardwerte. Der Port
des Trägers nimmt, worauf dein Deployment tatsächlich lauscht.
sgcMQ ist eigenständig
Alles, was die Komponenten brauchen, steckt in sgcMQ: die sgcWebSockets Core Runtime, der TsgcTCPClient-Träger, die TLS-Schicht und die JSON-Helfer. Ein Installer, vollständiger Quellcode im Paket.
Reines TCP und TLS, und nur das
Jedes Protokoll im Paket läuft auf einem rohen Socket, unverschlüsselt geöffnet oder in TLS verpackt. Das deckt die hier aufgeführten nativen Broker-Ports ab, so werden MQTT, AMQP, Kafka und STOMP üblicherweise betrieben. Soll ein Protokoll stattdessen über WebSocket laufen, zum Beispiel MQTT über WebSocket oder Web-STOMP, braucht es den WebSocket-Client, und der wird mit sgcWebSockets ausgeliefert. Prüfe vor der Entscheidung, welchen Transport dein Broker anbietet.
Delphi und C++ Builder
sgcMQ richtet sich an Delphi 7 bis RAD Studio 13 und C++ Builder, auf allen sechs Plattformen. Einen .NET-Build dieses Pakets gibt es nicht. Wenn du Messaging aus .NET brauchst, findest du das in sgcWebSockets.
Der Träger erledigt die Grundarbeit
TLSOptions.IOHandler wählt OpenSSL für plattformübergreifende Builds oder SChannel unter Windows, WatchDog verbindet nach einem Verbindungsabriss neu, und HTTP-CONNECT-Proxy-Traversal und IPv6 brauchen keine zusätzliche Konfiguration. Einmal eingestellt, erbt jedes Protokoll darüber diese Einstellungen.
sgcMQ implementiert die veröffentlichten Protokolle, statt ein Hersteller-SDK zu umhüllen, der Broker ist also deine Wahl: RabbitMQ, Apache Kafka, Eclipse Mosquitto, HiveMQ, EMQX, Apache ActiveMQ, Azure Service Bus und Event Hubs oder AWS IoT Core. Ein Broker-Wechsel ist ein Host, ein Port und ein Satz Zugangsdaten.
DAS ÖKOSYSTEM
Neun Bibliotheken, ein Werkzeugkasten
sgcMQ ist eine von neun eSeGeCe-Komponentenbibliotheken für Delphi, C++ Builder und .NET. Sie teilen dieselben Konventionen, werden mit vollständigem Quellcode ausgeliefert und lassen sich royaltyfrei verteilen.
sgcMQ
Client-Komponenten für MQTT, AMQP 0.9.1 und 1.0, Apache Kafka und STOMP für Delphi und C++ Builder. Eigenständig, die sgcWebSockets Core Runtime ist enthalten.
Komponenten für KI, LLM und MCP für Delphi und C++ Builder. Sieben LLM-Anbieter hinter einer einzigen Komponente, dazu MCP, Embeddings und Sprache. Eigenständig, die sgcWebSockets Core Runtime ist enthalten.
MQTT, AMQP, Kafka und STOMP in einem Paket, nativ implementiert, mit enthaltener sgcWebSockets Core Runtime und vollständigem Quellcode im Lieferumfang. Windows, Linux, macOS, iOS und Android aus demselben Code.