PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem Netzwerkschnittstelle



MiThoTyN
21.03.2007, 17:03
Hallo Leute!

Ich hab ein kleines Problem mit der Netzwerkschnittstelle. Ich hab mir ja diverse Programme gebaut, die vom Crusader Daten über die TCP/IP Schnittstelle entgegennehmen und dann weiterverarbeiten. Dieses Programme hab ich jetzt so erweitert, dass ich mich damit auch auf FMS32 und POC32 verbinden kann. Und das Programm erkennt automatisch, welcher Dekoder auf der anderen Seite arbeitet.

Mit dem Crusader hab ich jetzt das Problem, dass dessen Schnittstelle gelinde gesagt bescheiden ist. ;-) Das größte Problem ist momentan die Passwortabfrage. Ich kann nämlich nicht erkennen, ob ich mich zu einem Crusader MIT Passwortschutz oder zu einem OHNE verbinde. Es kommt auch keine Abfrage nach dem Passwort, sondern es wird erwartet, dass das Passwort nach dem Verbinden "blind" gesendet wird. Blöderweise reagiert der Crusader aber auf Falscheingaben damit, dass die Verbindung beendet wird. Und das auch bei alten Versionen, die gar kein Passwort erwarten.

Ich würde also gerne eine Verbesserung des Crusaders anstoßen, die eigentlich nur für die interessant ist, die AddOns programmieren. Genau diese Leute sollen sich auch mal zu Wort melden hier und Ihren Senf dazu geben.

Die Verbesserungen im Detail :

- Beim Verbinden eines Clients sollte der Crusader an den Client automatisch einen Willkommenstext schicken, aus dem hervorgeht DASS es ein FMSCrusader ist und in welcher Version er vorliegt. Meinetwegen reicht es den String "# FMSCrusader V4.50" zu senden. Der String sollte von Version zu Version identisch sein, damit man den weiterverarbeiten kann um z.B. die Versionsnummer rauszulesen.

- Ob der Crusader zum Anmelden ein Passwort verlangt oder nicht sollte ebenfalls mit einem kurzem Befehl vom Server signalisiert werden. Meinetwegen durch senden des Strings "# Passwort :".
Dann weiß der Client nämlich DASS er ein Passwort senden soll. Beim Senden eines falschen Passworts darf der Crusader sich auch nicht beenden. Entweder es wird eine Fehlermeldung zurückgegeben, oder es passiert einfach gar nix.

- Beim Senden eines Befehls VOM Client ZUM Server darf dieser die Verbindung nicht einfach beenden. Sollte es sich um eine Fehleingabe handeln, kann diese ja einfach ignoriert werden.

Das sind meiner Meinung nach mal die Mindestanforderungen an die Schnittstelle, damit diese von externen AddOns ordentlich genutzt werden kann. Gerne würde ich es sehen, wenn es darüber hinaus noch weitere Verbesserungen im Datenprotokoll geben würde. Ich würde mir ähnliche Systeme wie bei FTP oder POP3 wünschen.

Eine richtig gute (meine Meinung) Kommunikation zwischen Client (C) und Server (S) könnte dann so aussehen :

S: 100 - Willkommen auf dem FMSCrusader-Server
S: 101 - V4.50
S: 200 - Bitte geben Sie das Passwort ein
C: 210 - *pasword*
S: 221 - Passwort falsch, bitte wiederholen
C: 210 - *password*
S: 220 - Passwort richtig.
.
.
.
C: 900 - Ping!! Server noch da?
S: 910 - Pong!! Klar bin ich noch da.
.
.
S: 500 - Daten einer ZVEI Auswertung (Wie bisher auch)
S: 510 - Daten einer FMS Auswertung (Wie bisher auch)
S: 520 - Daten einer POC Auswertung (Wie bisher auch)
S: 530 - Daten einer Nachrichtenübermittlung
.
.
C: Blablauiduddbdndn
S: 800 - Befehl unbekannt
C: 820 - Quit
S: 830 - Auf Wiedersehen

Hat den Vorteil, dass die Befehle als 3stellige Nummer übertragen werden und Client und Server eigentlich nur die Nummer auswerten brauchen um GANZ genau zu wissen, welcher Befehl das ist. Die Texte hinter dem Befehl sind eigentlich nur für die Optik. Weiter würden beliebig viele neue Befehle einfach durch hinzufügen einer neuen Nummer erstellt werden können.

Wenn sowas halt bei einer der nächsten Versionen umgesetzt werden könnte wär das wie Weihnachten. ;-) Ansonsten geb ich mich auch mit den 3 angesprochenen Mindestpunkten zufrieden. ;-)

Bis dahin!

Gruß Joachim