AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit TMSMQTT

Ein Thema von Pflume · begonnen am 15. Jan 2024 · letzter Beitrag vom 9. Mär 2024
Antwort Antwort
Pflume

Registriert seit: 15. Jan 2024
2 Beiträge
 
#1

Probleme mit TMSMQTT

  Alt 15. Jan 2024, 18:00
Hallo,

ich will einen MQTTClient mit Delphi erstellen. Dazu habe ich die Komponente TMSMQTT gewählt.
Zuerst habe ich mich mit "TMSMQTTClient1.Connect();" verbunden. Das funktioniert auch, was ich daran sehe, dass TMSMQTTClient1.IsConnected auf true steht und ich in der Konsole des MQTT Servers sehe, dass es eine neue Session gibt.
Wenn die Verbindung steht bekomme ich sofort einen Fehler beim Client, dass es eine Zeitüberschreitung beim Lesen gibt (Exeption in der Klasse EIdReadTimeout). Diese Fehlermeldung konnte ich umgehen, indem ich im MQTTClient in den TimeOutSettings den Wert für Read auf -1 gesetzt habe.
Auch wird die Verbindung durch automatische Pings nicht am Leben gehalten, obwohl KeepConnectionAlive au true steht. Dieses Problem konnte ich umgehen, indem ich den Wert von KeepAliveInterval erhöht habe.

Wenn ich dann mit "TMSMQTTClient1.Disconnect();" mich disconnecten will, steht dazu nichts im Log des Servers. Ich bin also weiterhin mit dem Server verbunden. Auch bei "TMSMQTTClient1.Ping" sehe ich beim Log des Servers nicht, das irgendetwas ankommt. Das gleiche gilt auch fürs subscriben und publischen und wahrscheinlich auch für alle anderen Befehle.
Ich kann also im Log des Servers nur sehen, dass ich mich am Anfang verbunden habe. Dann sehe ich nichts mehr, bis ich die Anwendung vollständig stoppe, da dann "Connection stopped" im Log des Servers steht steht.
Den Server habe ich mit C# programmiert und auch mit einem C# Client getestet. Das Logging ist auf dem Server an.
(Ich habe es auch mit einem Mosquitto Server und einer von Git heruntergeladenen Version probiert [https://github.com/quini27/MQTT-clie...n-for-Windows]. Das Ergebnis ist das gleiche.)

Kann mir irgendwer sagen, welchen Fehler ich gemacht habe und wie man den MQTT Client zum laufen bringen könnte?

Vielen Dank im voraus
Max Pflume
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.961 Beiträge
 
Delphi 12 Athens
 
#2

AW: Probleme mit TMSMQTT

  Alt 15. Jan 2024, 21:37
Hallo,

falls du hier keine Hinweise dazu bekommen solltest: TMS hat auch ein Support Forum!
Bzw. kann man auch ein Ticket bei denen aufgeben.

Grüße

TurboMagic
  Mit Zitat antworten Zitat
fred.ahrens

Registriert seit: 11. Aug 2007
Ort: Ketzin/Havel
45 Beiträge
 
Delphi 12 Athens
 
#3

AW: Probleme mit TMSMQTT

  Alt 16. Jan 2024, 10:38
Hatte vor ein paar Tagen auch das Problem.
Irgendwo habe ich dann gefunden, dass man innerhalb der IDE die Exception bzgl. EIdReadTimeout ignorieren soll.
Man kann das auch in den Delphi Options unter "Language Exceptions" eintragen und von der IDE dann ignorieren lassen.

Hier funktioniert jetzt alles wie es soll.
Fred Ahrens (ZeeBORN GmbH)
  Mit Zitat antworten Zitat
salvadordf

Registriert seit: 16. Jan 2020
6 Beiträge
 
#4

AW: Probleme mit TMSMQTT

  Alt 16. Jan 2024, 14:47
First of all, sorry for writing in English.

The EIdReadTimeout exception is expected and handled but the component.
Use the default property values and use the code in the demos as a template for your application.
Many functions in that component are asynchronous, including "disconnect".

For more questions or bug reports please use the official TMS support forum.
  Mit Zitat antworten Zitat
Pflume

Registriert seit: 15. Jan 2024
2 Beiträge
 
#5

AW: Probleme mit TMSMQTT

  Alt 18. Jan 2024, 10:13
Danke für die Hilfe.
Ich habe eingestellt, dass die Fehlermeldung ignoriert werden soll und jetzt funktioniert es
  Mit Zitat antworten Zitat
BergLoewe

Registriert seit: 20. Nov 2005
37 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Probleme mit TMSMQTT

  Alt 9. Mär 2024, 16:05
Hallo,

ich wollte mich hier mal dranhängen. Ich habe einen ESP mit MQTT, der auf einen den HiveMQ-Broker schreibt. Im HiveMQ(https://www.hivemq.com/demos/websocket-client/) kann ich mir das auch ansehen, publishen und subcribben, alles chic.
Jetzt wollte ich von Delphi(11) aus auf den Broker zugreifen. Ich habe mir die TMS-Komponente in der Trialversion gezogen, ein (geräteübergreifendes) Formular genommen, den MQTTClient draufgesetzt, dessen Brokeradresse und Port eingetragen. Beim Connecten kommt eine Fehlermeldung, dass die SSL-Bibliothek fehle.
HiveMQ besteht auf SSL und dem 8884-Port. Setz ich im MQTTClient SSL auf False, kommt eine Exeption "Zeitüberschreitung beim Lesen".

Wie käme man denn da weiter?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Probleme mit TMSMQTT

  Alt 9. Mär 2024, 22:55
Beim Connecten kommt eine Fehlermeldung, dass die SSL-Bibliothek fehle.
Ich gehe mal davon aus, dass die OpenSSL Bibliotheken gemeint sind. Die musst du separat herunterladen und in dein Anwendungsverzeichnis legen.

Welche DLLs deine Anwendung wo sucht siehst du übrigens mit dem Process Monitor.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz