Ergebnis 1 bis 15 von 549

Thema: monitor 1.9.0 - aber richtig :)

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registriert seit
    07.09.2004
    Beiträge
    197
    ich würde von XML in der Datenübertragung weg gehen und ein eigenes "Protokoll" schreiben.
    D.h. Zeichenketten als Trennzeichen.
    Es sollte ein Start und Stop und Trennzeichen geben.
    Z.B.

    ###param1##param2##param3##param4===
    sowas in der Art.

    oder ähnliches.
    So machen wir das bei einem anderen Projekt auch und funktioniert wunderbar.

  2. #2
    Registriert seit
    21.08.2005
    Beiträge
    251
    Zitat Zitat von Dove
    ich würde von XML in der Datenübertragung weg gehen und ein eigenes "Protokoll" schreiben. D.h. Zeichenketten als Trennzeichen. Es sollte ein Start und Stop und Trennzeichen geben.
    Das halte ich für eine gute Idee.

    Vorschlag:
    Wir legen zuerst die Datenfelder und die Reihenfolge fest, wie die Infos vom Backend aus gesendet werden. Beim Trennzeichen müssen wir uns auf was einigen, was nicht in der Meldung vorkommen kann, wie ":". Evtl. sollten wir Texttelegramme in Hochkomma stellen. Alles, was nicht in Hochomma steht ist nicht case-sensitiv. Alle Kommandos sollten möglichst eindeutig sein, dass sich auch fragmente einer Übermittlung zuweisen lassen. In FMS-Textmitteilungen dürfen Steuercodes drin sein. Wir könnten entweder das Telegramm gleich in Hex-Codes übermitteln (und uns die Hochkomma sparen) oder die Steuerzeichen in Spitzklammern angeben.

    1. Servername
    2. Kanal, Werte L oder R
    3. Dienst, Werte ZVEI,FMS,POCSAC,TEST (sonstige?)

    ZVEI:
    4. Schleife
    5. DTFM-Auswertung, Werte OHNE, FEUER, PROBE, WARNUNG, ENTWARN, ZIVIL
    6. Abschlusmeldung "ZVENDE" (oder wie wärs mit "HABEFERTIG" :-)

    Beispiel:
    monitor1:L:ZVEI:12345:FEUER:ZVENDE

    FMS:
    4. Meldung
    optional 5. Wenn ein Folgetelegramm kommt, steht hier TEXT
    optional 6. Folgetelegramm in Hochkomma
    5,6 oder 7. Abschlussmeldung "FMSEND"

    Beispiel:
    server07:R:FMS:631172141000:FMSEND
    monitor1:R:FMS:631172140000:TEXT:"Kardio{CR}Hauptstrasse 5{CR}Huber{EOT}":FMSEND
    (Spitzklammern kriege ich im Forum nicht hin, daher sind hier geschweifte abgebildet)
    - oder -
    monitor1:R:FMS:631172140000:TEXT:4B617264696F13486 17570747374726173736513487562657204:FMSEND

    POCSAC:

    damit kenne ich mich nicht aus.

    was haltet ihr davon?

    Andreas

  3. #3
    Registriert seit
    21.08.2005
    Beiträge
    251
    Zitat Zitat von nepomuck
    1. Servername
    2. Kanal, Werte L oder R
    Ooops, fast vergessen:

    1. Server,
    2. DATUM/UHRZEIT YYMMDDHHMMSS
    3. Kanal ....

    also

    monitor1:070417034312:ZVEI:26250:FEUER:ZVENDE

  4. #4
    Registriert seit
    07.09.2003
    Beiträge
    694
    Die Idee ist gut, aber bei der Auswahl des Zeichens solltet Ihr nochmal gründlich überlegen: Ein Doppelpunkt kann durchaus in Meldungen vorkommen, sogar einigermaßen häufig. Am besten etwas wie § oder ° oder | oder µ oder oder oder nehmen, irgendwas, das mit großer Sicherheit nicht auftaucht. Vielleicht sogar eine Kombination wie §*§ oder §°§.
    Ihr findet da schon etwas.

    Gruß,
    Funkwart

  5. #5
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Wir wäre sonst das Konzept, daß auch früher auf dem Amiga mal "IN" war (Bstrings): Da ist das erste Byte ein Längenbyte. Man könnte vor jedem Text dann einfach die Länge vorher angeben. Wäre sogar resistent gegen Nullbytes.

    ....:050:{50-zeichen}:....

  6. #6
    Registriert seit
    07.09.2004
    Beiträge
    197
    Zitat Zitat von funkwart
    Die Idee ist gut, aber bei der Auswahl des Zeichens solltet Ihr nochmal gründlich überlegen: Ein Doppelpunkt kann durchaus in Meldungen vorkommen, sogar einigermaßen häufig. Am besten etwas wie § oder ° oder | oder µ oder oder oder nehmen, irgendwas, das mit großer Sicherheit nicht auftaucht. Vielleicht sogar eine Kombination wie §*§ oder §°§.
    Ihr findet da schon etwas.

    Gruß,
    Funkwart
    es würden ja auch mehrere trennzeichen genommen werden: §§§ oder so.

    das Datum würde ich als datetime übertragen also als unix timestamp.
    damit kann man ab besten arbeiten und überall verwenden.

  7. #7
    Registriert seit
    21.08.2005
    Beiträge
    251
    @funkwart
    Auch recht. Aber der Doppelpunkt kommt wenn, dann nur in Textmeldungen vor und die sind dann entweder in Hochkomma gestellt oder Hex Dekodiert
    @Buebchen
    Das Längebyte könnte man in die TEXT-Anweisung einbauen, also: ...FMS:1234567890ab:TEXT(5):6520136565:...

    Die Fragen sind

    - brauchen wir weitere Felder?
    - darf der Cllient was zu Server senden und wenn ja was?
    - gibt es dafür einen eigenen TCP-Port oder läuft alles über einen?
    - gibt es eine "private" kommunikation zwischen server und client oder nur einen multicast vom server aus

    Andreas

  8. #8
    Registriert seit
    07.09.2003
    Beiträge
    694
    Zitat Zitat von nepomuck
    @funkwart
    Auch recht. Aber der Doppelpunkt kommt wenn, dann nur in Textmeldungen vor und die sind dann entweder in Hochkomma gestellt oder Hex Dekodiert
    [...]
    - gibt es eine "private" kommunikation zwischen server und client oder nur einen multicast vom server aus

    Andreas
    Zum ersten Punkt: Stimmt, wenn es denn so einfach ist, das auseinander zu halten, meinetwegen. Trotzdem wäre es doch in Ordnung, ein Zeichen mit noch geringerer Auftet-Wahrscheinlichkeit zu wählen.
    Zum zweiten Punkt: Ich denke, es sollte schon eine Identifizierung bzw. Authentifizierung von Clients geben, somit müssen diese ja zwangsläufig mit dem Server kommunizieren. Ich weiß, dass das keine Sicherheit darstellt, weil Klartext-Übermittlungen ohne Probleme mit einem Sniffer mitgelesen werden können, aber es ist zumindest nicht so einfach, nur einen Client zu starten, die monitor-Server-IP zu geben und lustig alles mitzulesen.

    Gruß,
    Funkwart

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •