AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Comunicación / Funciones MQTTT
Publica un mensaje en el broker MQTT.
Ejemplo
gMqttSession is mqttSession
llResult is int
sTopic is string
bufContent is Buffer
 
gMqttSession.Address = "xxx.xx.xxx.xxx" // To fill
gMqttSession.Port = 1883
gMqttSession.ClientID = "MyTest"
gMqttSession.CleanSession = True
 
sTopic = "/SERVER"
bufContenu = "Test from WINDEV"
 
IF NOT gMqttSession.Connect() THEN
Error("Connection problem. '" + ErrorInfo() + "')")
END
 
llResult = gMqttSession.Publish(sTopic, bufContent)
gMqttSession is mqttSession
...
llResult is int
sTopic = "/SERVER"
bufContenu = "Test from WINDEV"
llResult = gMqttSession.Publish(sTopic, bufContent, True, ...
mqttQualityExactlyOnce, PublicationMQTT)
 
INTERNAL PROCEDURE PublicationMQTT(pMqttSession is mqttSession, MessageNum is int)
Trace("Publication" + " - MessageNum = " + MessageNum)
END
Sintaxis
<Result> = <MQTT session>.Publish(<Subject> , <Data> [, <To store> [, <Quality of service> [, <Procedure>]]])
<Result>: Integro
  • Número de mensajes publicados (constantes mqttQualityExactlyOnce y mqttQualityAtLeastOnce).
  • 0 si la publicación tiene éxito (constante mqttQualityAtMostOnce).
  • -1 si se produce un error.
<MQTT session>: mqttSession variable
Nombre de la mqttSession Variable correspondiente a la sesión MQTT que se va a utilizar.
<Subject>: Cadena de caracteres
Tema del mensaje.
<Data>: Buffer
Datos a publicar (no debe exceder 256MB).
<To store>: Booleano opcional
  • True si se debe conservar el mensaje en el servidor.
  • False (predeterminado) en caso contrario.
<Quality of service>: Entero opcional
Calidad de servicio solicitada:
mqttQualityAtLeastOnceEl mensaje se entregará al menos una vez. El cliente transmitirá el mensaje varias veces si es necesario hasta que el servidor (broker) confirme que el mensaje fue transmitido en la red.
Equivalente a QOS set a 1.
mqttQualityAtMostOnceEl mensaje será entregado una vez como máximo. El mensaje no se almacena. Se envía sin garantía de recepción. El MQTTT (broker) no informa al remitente de que el mensaje ha sido recibido.. El mensaje puede perderse si el cliente se desconecta o si el servidor se detiene..
Equivalente a QOS set a 0.
mqttQualityExactlyOnceEl mensaje será necesariamente guardado por el emisor. Se transmitirá mientras el receptor no confirme su envío a la red.. El emisor está utilizando un sofisticado reconocimiento con el servidor (broker) para evitar la duplicación de mensajes.. Este modo es más lento pero es más secure.
Equivalente a QOS set a 2.
<Procedure>: Nombre del WLanguage opcional Procedure
Nombre del procedimiento WLanguage ("callback") ejecutado cuando se publicó el mensaje (este procedimiento se llama si se utilizan las constantes mqttQualityExactlyOnce y mqttQualityAtLeastOnce). Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(<Session> is mqttSession,
<Message num> is int)
donde:
  • <Sesión> corresponde a una mqttSession Variable que contiene las características de la sesión MQTT.
  • <El número de mensaje corresponde al número de mensaje publicado..
Clasificación Lógica de negocio / UI: Lógica de negocio
Componente: wd290com.dll
Versión mínima requerida
  • Versión 24
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 22/06/2023

Señalar un error o enviar una sugerencia | Ayuda local