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
    21.08.2005
    Beiträge
    251
    Zitat Zitat von Buebchen Beitrag anzeigen
    Ich würde für die unterstützen Protokolltypen auch eine Liste als Antwort vorsehen. Dann kann der Server die unterstützen Protokolle anbieten und der Client nimmt das für ihn passende.
    Das liesse sich leicht implementieren, Ich halte es jedoch für unnötig. Client und Server fragen gegenseitig die unterstützte Protokollversion ab und dann muss die niedrigste zwangsläufig für die Kommunikation herangenommen werden.
    Erfährt der V3.2-Server, dass sein Client nur V2.78a drauf hat, antwortet er entweder mit einem OK und spricht dann 2.78a -- wenn er die Version nicht mehr beherrscht, bricht er den Handshake mit Fehler, Protokoll nicht implementiert ab.

    Zitat Zitat von Buebchen Beitrag anzeigen
    Den Servernamen hatte ich vorgesehen, wenn man mal später eine Relay-Funktion vorsehen würde
    Das setzt voraus, dass der Servername in so gut wie jedes Kommando als Paramter eingefügt werden muss.

    Gegenvorschlag:
    Das Relay weiss, wie es mit den Servern verbunden wurde. Es kann daraufhin virtuelle Kanalnummern vergeben, so dass der Client letztendlich nach wie vor nur die Nummern einsetzt.

    Beispiel:
    Das Relay sieht drei Server mit Drei Kanälen -- der Client am Relay sieht einen Server mit 9 Kanälen.

    Andreas

  2. #2
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Zitat Zitat von nepomuck Beitrag anzeigen
    Beispiel:
    Das Relay sieht drei Server mit Drei Kanälen -- der Client am Relay sieht einen Server mit 9 Kanälen.

    Andreas
    Und wie weiss der Client nun, welcher Kanal wohin gehört ? Ich halte nicht das Einfügen des Servernamens für den Stein der Weisen. Aber der Lösungsansatz jetzt ein Multiplexing einzuführen ist es aus meiner Sicht auch nicht.

    Aber sei's drum. Sofern die Gemeinde zustimmt, wird der Servername also erstmal ersatzlos gestrichen.

    Das "trial-and-error" Verfahren zu Protokollbestimmung ist nicht gerade eine elegante Lösung. Aber da wären eher die Client-Entwickler dazu zu befragen. Serverseitig wird es eben nur ein NACK geben, wenn's nicht passt:-)

  3. #3
    Registriert seit
    21.08.2005
    Beiträge
    251
    Zitat Zitat von Buebchen Beitrag anzeigen
    Und wie weiss der Client nun, welcher Kanal wohin gehört ?
    Jeder Kanal hat einen eindeutigen Namen. Letzten Endes geht es dem Client um den überwachten Dienst, nicht um irgendeinen Server.
    Zitat Zitat von Buebchen Beitrag anzeigen
    Aber der Lösungsansatz jetzt ein Multiplexing einzuführen ist es aus meiner Sicht auch nicht.
    Ich glaube ein Relay ist erst unser überübernächstes Problem. Jetzt sollten wir erst einmal die Basis umsetzen und im nächsten Schritt Sorgen über all die vielen möglichen Zusätze machen.
    Zitat Zitat von Buebchen Beitrag anzeigen
    Das "trial-and-error" Verfahren zu Protokollbestimmung ist nicht gerade eine elegante Lösung.
    Zwei Fragen, zwei Antworten: Bei einm "OK/OK" nimmt man die höchste Protokollversion, bei einem "OK/Not Supported" nimmt man die mit OK bestätigte, und bei einem "Not/Not" geht eh nix -- einfacher geht's kaum.
    Alternativ könnte die gegenstelle auf den Inquiry mit mehreren Zeilen und mehreren Codes antworten: 111=Name,112=OS,113=ver,114=Proto
    Code:
    210
    111:"monitord"
    112:"linux"
    113:0030
    114:0021
    114:0020
    114:0015
    100
    Oder der 111 bekommt mehrere Paramter, wie der Errorcode, 1=Name, 2=OS, 3=Version, 4=Protokollversion 0="Habe fertig!"
    also:
    Code:
    210
    111:1:"monitord"
    111:2:"linux"
    111:3:0030
    111:4:0021
    111:4:0020
    111:4:0015
    111:0
    Dann würde man die Versionsnummer als dritten paramter "Preferred Protocol" an den Login hängen.
    Wie wäre das?

    Zitat Zitat von Buebchen Beitrag anzeigen
    Aber da wären eher die Client-Entwickler dazu zu befragen. Serverseitig wird es eben nur ein NACK geben, wenn's nicht passt:-)
    Naja -- das ist momentan glaube ich unser Hauptproblem: Keiner befasst sich mit der Cliententwicklung.

    Andreas

  4. #4
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Zitat Zitat von nepomuck Beitrag anzeigen

    Naja -- das ist momentan glaube ich unser Hauptproblem: Keiner befasst sich mit der Cliententwicklung.

    Andreas
    Ich denke auch man kann sich auf die Kanalbezeichnung einigen. Die Cliententwicklung ist halt so 'ne Sache. Ich habe den monitor vor einige Jahren ja nicht so ganz ohne Hintergedanken umgeschrieben :-) Ist aber eher ein Langzeitprojekt - mit Betonung auf lang .. *räusper* ...

    Werde also mal anfangen, die Clientkommunikation im Sinne der PDF zu überarbeiten. Sollen wir mit einer Protokollversion 1.0 starten ? Oder 2.0 (parallel zum monitord) ?

  5. #5
    Registriert seit
    03.02.2006
    Beiträge
    75
    uiiii ! hier tut sich wieder was.
    gleich mal ausgechecked und configure gestartet.
    habe nun das gleiche wie nepomuck:
    Code:
    checking for ALSA CFLAGS...
    checking for ALSA LDFLAGS... -lasound -lm -ldl -lpthread
    checking for libasound headers version >= 0.9.1... not present.
    checking for snd_ctl_open in -lasound... no
    configure: creating ./config.status
    .infig.status: error: cannot find input file:
    hm... natürlich auch unter linux
    komme da nicht weiter.
    unter win scheint's ja zu laufen.
    schön wäre es wenn es kompartibel zu win und linux eingestellt wird.

    öm zu den clienten...
    ist es denn so geplant, dass ich mich mit nem crusader-client verbinden kann und er bekommt dann die letzten 500 auswertungen geschickt? verbinden geht ja schon, ich weiß, aber mich würden eben diese z.B 500 letzten protokolle reizen :-).
    wenn das klappen würde wäre ich ultra begeistert.
    leider kann ich aber nicht programmieren. kann also nur testen, auf nem headless-linux (ubuntu 6.10-server).

    cu
    MacLeod

  6. #6
    Registriert seit
    11.12.2001
    Beiträge
    1.008
    Den Fehler

    Code:
    checking for ALSA CFLAGS...
    checking for ALSA LDFLAGS... -lasound -lm -ldl -lpthread
    checking for libasound headers version >= 0.9.1... not present.
    checking for snd_ctl_open in -lasound... no
    configure: creating ./config.status
    .infig.status: error: cannot find input file:
    konnte ich auf das unter windows erstellte configure script reduzieren. Ich habe jetzt unter Ubuntu 6.06 automake und autoconf nochmal gestartet und der Fehler im configure war behoben. Dafür habe ich noch andere Fehler (insbesondere streikt in der VMWare das /dev/dsp Interface im Moment). Könnte also bald wieder unter Linux laufen, sofern ich die Fehler heute noch finden kann :-)

    Edit:
    Sollte jetzt wieder unter Windows und Linux kompilieren. Fehler sind soweit gefixt. Wäre schön, wenn das mal jemand gegentesten könnte.
    Geändert von Buebchen (11.12.2007 um 00:11 Uhr) Grund: Fehler in posix Soundmodulen behoben

  7. #7
    Registriert seit
    03.02.2006
    Beiträge
    75
    das configure lüppt nun durch
    nun kommt das make:
    Code:
    make  all-am
    make[1]: Entering directory `/home/tom/monitord/trunk'
    source='monitord/Monitor.cpp' object='monitord/monitord_monitord-Monitor.o' libtool=no \
            DEPDIR=.deps depmode=none /bin/bash ./depcomp \
            g++ -DHAVE_CONFIG_H -I.  -Ijthread-1.2.1/src -D_DEBUG -Wall -pedantic         -c -o monitord/monitord_monitord-Monitor.o `test -f 'monitord/Monitor.cpp' || echo './'`monitord/Monitor.cpp
    ./depcomp: line 566: exec: g++: not found
    make[1]: *** [monitord/monitord_monitord-Monitor.o] Error 127
    make[1]: Leaving directory `/home/tom/monitord/trunk'
    make: *** [all] Error 2
    :-(
    aso..
    die ausführ-fags (755) mußte ich auch noch setzen, a sonst das configure nicht durchlief.
    wäre nett wenn die gleich gesetzt sind ;-)

    MacLeod

    edit:
    guten morgen....
    g++ war nicht installiert *rolleyes*
    Geändert von MacLeod (11.12.2007 um 14:53 Uhr)

  8. #8
    Registriert seit
    21.08.2005
    Beiträge
    251
    Zitat Zitat von Buebchen Beitrag anzeigen
    Ist aber eher ein Langzeitprojekt - mit Betonung auf lang
    Das ist klar. Aber irgendwann zwischendrin sollte es mal eine ferige lauffähige Version geben auf deren Basis die weitere Entwicklung fußt.

    Ich möchte folgendes Vorschlagen:
    Lasst uns jetzt einen "Feature Freeze" machen. Wir einigen uns jetzt auf den Funktionsumfang der Version 2.0 und auf den Befehlssatz des Protokolls 1.0. Dann bauen wir dazu den funktionierenden Server für Windows und Linux mindestens einen Client für Windows und Linux. In der Zwischenzeit lassen wir uns nicht mehr von "Ich-hätte-da-noch-ne-Idee"-Postings ablenken, bis 2.0 steht.
    Danach können die einen Praxiserfahrung sammeln, Bugs fixen und eine Dokumentation schreiben, während sich die anderen wieder übder den Code hermachen und neue Features ausprobieren.

    Mein konkreter Feature-Vorschlag für die 2.0:

    Protokoll
    wie Vorgeschlagen -- hier muss noch jemand die Pocsac-Paramter festlegen!

    Server
    - Bedient pro thread 2 Kanäle
    - Decodiert ZVEI mit DTFM, Pocsac und FMS
    - kann mehrfach parallel mit mehreren Soundkarten arbeiten
    - Kommuniziert bidirektional mit einem oder mehreren Clients über sein eigenes Protokoll
    - Kommuniziert optional (nur Alarm-Out) über FMSCrusader und FMS32-Protokoll
    - Kann auf Kommando einzelne oder mehrere kanäle aufzeichnen (mit sox)

    Client
    - Kommuniziert bidirektional mit dem Server
    - Zeigt die Auswertungen mehrere Kanäle in einem oder mehreren Fenstern an
    - Startet Shell-Skripte und Batch-Dateien in Abhängigkeit von Alarrmmeldung und Konfigurationsdatei
    - Setzt @REC-Kommandos in Abhängikeit von Meldung und Config ab
    - Offeriert einen Debug-Modus, der die komplette Protokollkommunikations darstellen kann.

    Was haltet ihr davon?

    Andreas

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
  •