#9 von
LeonFoucault
, 23.02.2021 18:08
Mal kurz und knapp erklärt wie die z/Z21 das macht....
Du meldest dich mit dem Maintenance-Tool an der Z21 an. Gleichzeitig wird seitens des Tools die Abonnementen-Anfrage an die Z21 geschickt, dass die Z21 bestimmte Parameter in festgelegten Intervallen an die Software (den Client) schickt, der sich an der Zentrale angemeldet hat.
Dafür führt die Zentrale eine Liste, welche Clients / Programme / Geräte sich an der Z21 angemeldet haben und welcher Client welche Nachrichten gerne regelmäßig haben möchte.
Das schickt die Zentrale dann unkontrolliert raus. Bedeutet also, die Zentrale prüft nicht nach ob die Nachricht angekommen ist und ob der Empfänger überhaupt noch vorhanden ist. Die Nachricht wird also einfach ins Netzwerk "reingeworfen". Post versenden ohne Einschreiben und Rückschein.
Sollte sich der Client nicht wenigstens einmal pro Minute mit IRGENDWAS bei der Zentrale melden, fliegt der Client aus der Liste der möglichen Empfänger raus und wird nicht mehr mit Informationen versorgt.
Also was muss man machen damit man Daten empfängt, auch wenn andere Clients etwas machen?
1. an der Z21 anmelden
2. Gemäß 2.16 des Rocoprotokolls die Broadcastflags setzen, WAS man in WELCHER Art abonnieren will, also welche Informationen man empfangen möchte
3. sich regelmäßig bei der Zentrale melden, dass der Client noch existent ist. Abfrage von am Gleis anliegender Leistung ist da zum Beispiel was, was man machen kann.
4. aufpassen dass man es mit den Abonnements nicht übertreibt
5. Grundsätze der Netzwerkprogrammierung nachlesen und Datentypen-Konvertierungen, da das Protokoll munter je nach Befehl Little-Endian, Big-Endian, htons und normale Werte mischt.
@js747a Ich komme übrigens ursprünglich aus Korbach und habe dort in der Belgiersiedlung gewohnt.
H0 - Weinert MeinGleis - Z21,DR5000 - Railcom - Lokdecoder: ESU, Zimo und Lenz - RM und Dec: Roco, Digikeijs - Weichenantriebe Weinert, Digikeijs - Rollmaterial Roco, Liliput, Weinert, Brawa, Tillig - Szenerie Woodland Scenics - Steuerung: Multimaus & Software (eigene)