Siete componentes cliente hablan MQTT 3.1.1 y 5.0, AMQP 0.9.1, AMQP 1.0, el protocolo de red de Apache Kafka y STOMP 1.0 a 1.2, con dialectos de broker para RabbitMQ y ActiveMQ. Cada frame se parsea y se escribe en Object Pascal dentro de la librería, así que no hay librdkafka, ni Paho, ni Qpid, ni ninguna DLL que distribuir. Los siete viajan sobre un único TsgcTCPClient, abierto en claro o envuelto en TLS.
sgcMQ es un paquete independiente. Incluye el runtime sgcWebSockets Core sobre el que está construido, y cada licencia se entrega con el código fuente completo, así que puedes recorrer las implementaciones de los protocolos en tu propio depurador.
7Componentes clienteMQTT, AMQP 0.9.1, AMQP 1.0, Kafka, STOMP, STOMP RabbitMQ y STOMP ActiveMQ, en una sola página de paleta.
5Familias de protocolosCada formato de red se parsea y se escribe en Object Pascal, dentro de la librería.
6Plataformas de destinoWin32, Win64, Linux64, macOS, iOS y Android, desde un único árbol de código.
0Librerías externasSin librdkafka, sin Paho, sin Qpid, sin DLL y sin proxy REST delante.
1Transporte compartidoUn único TsgcTCPClient transporta los siete, así que TLS, el proxy y la reconexión se configuran una sola vez.
MQ
sgcMQ
Clientes de colas de mensajes y streaming para Delphi y C++ Builder. Un paquete independiente con el runtime sgcWebSockets Core incluido, código fuente completo y despliegue libre de royalties en los seis destinos.
Un Componente por Protocolo, un Mismo Estilo de API
Suelta el componente de protocolo en un formulario, asigna un TsgcTCPClient a su propiedad Client, conecta los eventos y llama a los verbos propios del protocolo. La nomenclatura es coherente en los siete, así que aprender uno te deja la mayor parte del camino hecho con el resto.
MQTT 3.1.1 y 5.0
Publicación, Suscripción y Toda la Maquinaria de QoS
TsgcWSPClient_MQTT cubre ambas versiones del protocolo tras una única propiedad MQTTVersion. QoS 0, 1 y 2 con el intercambio PUBACK, PUBREC, PUBREL y PUBCOMP expuesto como eventos en lugar de oculto, mensajes retenidos, Last Will and Testament, suscripciones con comodines y sesiones reanudables. La versión 5 añade códigos de razón, propiedades de usuario, alias de topics, suscripciones compartidas y el intercambio AUTH.
TsgcWSPClient_AMQP habla AMQP 0.9.1, el protocolo para el que se construyó RabbitMQ: canales, declaración de exchanges y colas, bindings, consumidores, confirmaciones de publicador, QoS de prefetch y transacciones. TsgcWSPClient_AMQP1 habla AMQP 1.0, el estándar OASIS detrás de Azure Service Bus y Event Hubs: contenedores, sesiones, enlaces emisores y receptores, control de flujo basado en crédito, SASL y los ayudantes de Claims-Based Security. Distinto formato de red, distinto modelo de objetos, así que hay un componente para cada uno.
TsgcWSPClient_Kafka habla el protocolo de red de Kafka sobre TCP, incluido el formato de record batch v2. Produce con el nivel de acks que elijas y compresión gzip, consume a través de un grupo donde el descubrimiento del coordinador, el join, el sync, el heartbeat y el rebalanceo se gestionan por ti, o lee una partición por offset.
TsgcWSPClient_STOMP gestiona SEND, SUBSCRIBE, UNSUBSCRIBE, ACK, NACK, los recibos, el heart-beating bidireccional y los frames de transacción BEGIN, COMMIT y ABORT. Dos descendientes convierten las convenciones de destinos del broker en métodos con nombre, uno para RabbitMQ y otro para ActiveMQ.
Los siete clientes y el transporte que llevan debajo están registrados para Win32, Win64, Linux64, macOS, iOS y Android, desde Delphi 7 hasta RAD Studio 13 y en C++ Builder. El paquete de mensajería no arrastra ninguna restricción de plataforma.
Crea el componente de protocolo, asigna el transporte, engancha los eventos y llama a los verbos. Pasar de un listener en claro a uno cifrado es un número de puerto y TLS := True en el transporte, y nada por encima cambia.
Qué necesita sgcMQ de ti y cómo llegan los bytes al broker. Las dos respuestas son cortas, y las dos están en esta página en lugar de en la letra pequeña.
Listeners nativos del broker
protocolo componente 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* el que tenga configurado el listener cifrado del propio broker.
Estos son los valores por convención. El Port del transporte
acepta el puerto en el que realmente escuche tu despliegue.
sgcMQ es independiente
Todo lo que necesitan los componentes viene incluido dentro de sgcMQ: el runtime sgcWebSockets Core, el transporte TsgcTCPClient, la capa TLS y los ayudantes JSON. Un instalador, código fuente completo en la caja.
TCP en claro y TLS, y solo eso
Cada protocolo del paquete viaja sobre un socket puro, abierto en claro o envuelto en TLS. Eso cubre los puertos nativos de broker listados aquí, que es como se despliegan normalmente MQTT, AMQP, Kafka y STOMP. Ejecutar un protocolo sobre WebSocket en su lugar, por ejemplo MQTT sobre WebSocket o Web-STOMP, necesita el cliente WebSocket, y ese se entrega con sgcWebSockets. Comprueba qué transporte expone tu broker antes de elegir.
Delphi y C++ Builder
sgcMQ apunta a Delphi 7 hasta RAD Studio 13 y C++ Builder, en las seis plataformas. No hay una compilación .NET de este paquete. Si necesitas mensajería desde .NET, eso vive en sgcWebSockets.
El transporte hace la fontanería
TLSOptions.IOHandler elige OpenSSL para compilaciones multiplataforma o SChannel en Windows, WatchDog reconecta tras una caída del enlace, y el paso por proxy HTTP CONNECT e IPv6 no necesitan configuración extra. Configúralo una vez y cada protocolo por encima lo hereda.
sgcMQ implementa los protocolos publicados en lugar de envolver el SDK de un fabricante, así que el broker lo eliges tú: RabbitMQ, Apache Kafka, Eclipse Mosquitto, HiveMQ, EMQX, Apache ActiveMQ, Azure Service Bus y Event Hubs, o AWS IoT Core. Cambiar de broker es un host, un puerto y unas credenciales.
EL ECOSISTEMA
Nueve Librerías, una Caja de Herramientas
sgcMQ es una de las nueve librerías de componentes de eSeGeCe para Delphi, C++ Builder y .NET. Comparten convenciones, se entregan con código fuente completo y se despliegan libres de royalties.
sgcMQ
Componentes cliente de MQTT, AMQP 0.9.1 y 1.0, Apache Kafka y STOMP para Delphi y C++ Builder. Producto independiente, con el runtime sgcWebSockets Core incluido.
WebSocket, HTTP/2, MQTT, AMQP, WebRTC, IA y más de 30 integraciones de APIs para Delphi, C++ Builder, Lazarus y .NET. Aquí es donde vive el transporte WebSocket.
Componentes de IA, LLM y MCP para Delphi y C++ Builder. Siete proveedores de LLM tras un único componente, más MCP, embeddings y voz. Producto independiente, con el runtime sgcWebSockets Core incluido.
MQTT, AMQP, Kafka y STOMP en un solo paquete, implementados de forma nativa, con el runtime sgcWebSockets Core incluido y el código fuente completo en la caja. Windows, Linux, macOS, iOS y Android desde el mismo código.