PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Publie un message sur le broker MQTT.
Versions 24 et supérieures
Android Cette fonction est désormais disponible pour les applications Android.
Nouveauté 24
Android Cette fonction est désormais disponible pour les applications Android.
Android Cette fonction est désormais disponible pour les applications Android.
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 (avec guillemets)
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é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.
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.
<Procédure> : Nom de procédure WLangage 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 / IHM : Code métier
Composante : wd240com.dll
Version minimum requise
  • Version 22
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire