(07-12-2022, 19:44)jsbsan escribió: Tambien se puede usar el protocolo de mqtt (mosquito), mirate este enlace:
Si recuerdo que conversamos de este tema, pero yo por lo menos no seguí indagando ¿Tu si?.
El usuario Silex propuso un código pero no intente usarlo.
Código:
' Gambas module file
Private proceso As Process
Public Sub Main()
Print "Nos suscribimos al Topic Pruebagambas"
proceso = Shell "mosquitto_sub -h 'test.mosquitto.org' -t 'Pruebagambas'" For Read As "recepcion"
End
Public Sub recepcion_read()
Dim datos As String
datos = Read #Last, Lof(Last)
Print "Recepción:" & datos
End
Luego en la pagina de MQTT hay un esquema del protocolo.
https://mqtt.org/
De wikipedia en inglés he traducido al castellano pues no existe.
Visión general
El protocolo MQTT define dos tipos de entidades de red: un corredor de mensajes y una serie de clientes. Un broker MQTT es un servidor que recibe todos los mensajes de los clientes y, a continuación, enruta los mensajes a los clientes de destino apropiados. Un cliente MQTT es cualquier dispositivo (desde un microcontrolador hasta un servidor completo) que ejecuta una biblioteca MQTT y se conecta a un agente MQTT a través de una red.
La información se organiza en una jerarquía de temas. Cuando un editor tiene un nuevo dato que distribuir, envía un mensaje de control con los datos al broker conectado. A continuación, el broker distribuye la información a los clientes que se hayan suscrito a ese tema. El editor no necesita tener ningún dato sobre el número o la ubicación de los suscriptores, y éstos, a su vez, no tienen que estar configurados con ningún dato sobre los editores.
Si un broker recibe un mensaje sobre un tema para el que no hay suscriptores actuales, el broker descarta el mensaje a menos que el publicador del mensaje lo haya designado como mensaje retenido. Un mensaje retenido es un mensaje MQTT normal con el indicador retenido en true. El agente almacena el último mensaje retenido y la QoS correspondiente para el tema seleccionado. Cada cliente que se suscribe a un patrón de tema que coincide con el tema del mensaje retenido recibe el mensaje retenido inmediatamente después de suscribirse. El intermediario sólo almacena un mensaje retenido por tema. Esto permite a los nuevos suscriptores de un tema recibir el valor más reciente en lugar de esperar a la siguiente actualización de un editor.
Cuando un cliente de publicación se conecta por primera vez al broker, puede configurar un mensaje predeterminado que se enviará a los suscriptores si el broker detecta que el cliente de publicación se ha desconectado inesperadamente del broker.
Los clientes sólo interactúan con un corredor, pero un sistema puede contener varios servidores corredores que intercambian datos basados en los temas actuales de sus suscriptores.
Un mensaje de control MQTT mínimo puede tener tan sólo dos bytes de datos. En caso necesario, un mensaje de control puede transportar casi 256 megabytes de datos. Hay catorce tipos de mensajes definidos que se utilizan para conectar y desconectar un cliente de un broker, publicar datos, acusar recibo de datos y supervisar la conexión entre cliente y servidor.
MQTT se basa en el protocolo TCP para la transmisión de datos. Una variante, MQTT-SN, se utiliza sobre otros transportes como UDP o Bluetooth.
MQTT envía las credenciales de conexión en formato de texto plano y no incluye ninguna medida de seguridad o autenticación. Esto se puede proporcionar mediante el uso de TLS para cifrar y proteger la información transferida contra la interceptación, modificación o falsificación.
El puerto MQTT no cifrado por defecto es 1883. El puerto cifrado es 8883