DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Communication / Fonctions MQTT
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Publie un message sur le broker MQTT.
Exemple
gMqttSession est une mqttSession
llRésultat est un entier
sSujet est une chaîne
bufContenu est un Buffer
 
gMqttSession.Adresse = "xxx.xx.xxx.xxx" // A remplir
gMqttSession.Port = 1883
gMqttSession.IDClient = "MonTest"
gMqttSession.SessionVide = Vrai
 
sSujet = "/SERVER"
bufContenu = "Test à partir de WINDEV"
 
SI PAS MQTTConnecte(gMqttSession) ALORS
Erreur("Problème de connexion. '" + ErreurInfo() + "')")
FIN
 
llRésultat = MQTTPublie(gMqttSession, sSujet, bufContenu)
llRésultat est entier
sSujet = "/SERVER"
bufContenu = "Test à partir de WINDEV"
llRésultat = MQTTPublie(gMqttSession, sSujet, bufContenu, Vrai, ...
mqttQualitéExactementUneFois,  PublicationMQTT)
 
PROCÉDURE INTERNE PublicationMQTT(pMqttSession est un mqttSession, NumMessage est un entier)
Trace("Publication" + " - NumMessage = " + NumMessage)
FIN
Syntaxe
<Résultat> = MQTTPublie(<Session MQTT> , <Sujet> , <Données> [, <A conserver> [, <Qualité de service> [, <Procédure>]]])
<Résultat> : Entier
  • Numéro du message publié (constantes mqttQualitéExactementUneFois et mqttQualitéAuMoinsUneFois).
  • 0 si la publication a réussi (constante mqttQualitéAuPlusUneFois).
  • -1 en cas d'erreur.
<Session MQTT> : Variable de type mqttSession
Nom de la variable mqttSession correspondant à la session MQTT à manipuler.
<Sujet> : Chaîne de caractères
Sujet du message.
<Données> : Buffer
Données à publier (ne doit pas excéder 256Mo).
<A conserver> : Booléen optionnel
  • Vrai si le message doit être conservé sur le serveur.
  • Faux (par défaut) dans le cas contraire.
<Qualité de service> : Entier optionnel
Qualité du service souhaitée :
mqttQualitéAuMoinsUneFoisLe message sera délivré au moins une fois. Le client transmettra le message plusieurs fois s'il le faut jusqu'à ce que le serveur (Broker) lui confirme que le message a été transmis sur le réseau.
Equivalent à un QOS de 1.
mqttQualitéAuPlusUneFoisLe message sera délivré tout au plus une fois. Le message n'est pas stocké. Il est envoyé sans garantie de réception. Le serveur MQTT (broker) n'informe pas l'expéditeur qu'il a reçu le message. Le message peut être perdu si le client se déconnecte ou si le serveur s'arrête.
Equivalent à un QOS de 0.
mqttQualitéExactementUneFoisLe message sera obligatoirement sauvegardé par l'émetteur. Il sera transmis tant que le récepteur ne confirme pas son envoi sur le réseau. L'émetteur utilise une phase de reconnaissance sophistiquée avec le serveur (broker) pour éviter une duplication des messages. Ce mode est plus lent mais plus sûr.
Equivalent à un QOS de 2.
<Procédure> : Nom de procédure optionnel
Nom de la procédure WLangage (également nommée "callback") exécutée lorsque le message a été diffusé (cette procédure est appelée si les constantes mqttQualitéExactementUneFois et mqttQualitéAuMoinsUneFois sont utilisées). Cette procédure est de la forme :
PROCEDURE <Nom de la procédure>(<Session> est un mqttSession,
<Num message> est un entier)
où :
  • <Session> correspond à une variable mqttSession contenant les caractéristiques de la session MQTT.
  • <Num message> correspond au numéro du message publié.
Classification Métier / UI : Code métier
Composante : wd300com.dll
Version minimum requise
  • Version 22
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale