Zitat Zitat von Buebchen Beitrag anzeigen
Warum ist ein 100 ...ready unzulässig ?
Wir hatten und bei der Protokolldefinition auf etliche Standards geeinigt:
- Alle Kommandos und Quittungen sind rein nummerisch, Parameter sind durch ":" getrennt und, falls alphanummerisch, in Ascii codiert.
- Das Kommando "100" ist nicht mehr als eine positive Quittung auf ein vom Client abgesetztes Kommando. Laut unserem Standard gibt es bei "100" einfach keine Folgeparamter.

Folglich ist "100 Version xyz Ready" eine unzulässige Antwort.

Für die Beta-Versionen ist sowas ganz nett, da man viel mit einem Telnet-Client arbeitet und sehen will, was los ist. Aber wenn die ersten, richtig funktionellen Forntends da sind, müssen sich die Backend- und Frondend-Entwickler exakt an die Protokolldefinition halten -- sonst wird das ganze nicht funktionieren.
Zitat Zitat von Buebchen Beitrag anzeigen
Aber wir können da auch gerne einen anderen Code nehmen - Sozusagen für die welcome message
Das Thema hatten wir schon einmal und haben uns damals gegen eine "lesbare" Welcome-Message entschieden, da ein trockenes "100" als positive Verbindungsbestätigung völlig ausreicht. Und für den Austausch der exakten Versionsinformationen haben wir deshalb das Inquiry-Kommando (210 vom Client an den Server oder 110 vom Server an den Client) mit einer mehrzeiligen Antwort festgelegt. Wobei die Klartextmeldungen Ascii codiert werden müssen.

Ich zitiere das Protokollmanual:
Code:
Beispiel (in allen Beispielen wird der Text zwecks der Lesbarkeit in „“ angegeben, statt in ASCII
kodiert):
     210 (=Inquiry-Anforderung vom Client)
     111:1:“monitord“ (sieht in wirklichkeit so aus: 111:1:6D6F6E69746F7264)
     111:2:“LINUX“ (111:1 = Name des Servers, 111:2=OS des Servers 111:3 = Version )
     111:3:0021
     111:4:0010
     111:4:0020 (111:4 = unterstützte Protokollversionen)
     111:4:0021
     111:5:"REC" (111:5 = unterstützte Module dieses Servers) 
     111:5:"MYSQL"
     111:0
Alle Programmierer müssen sich an die Protokollstandards halten. Wenn jeder eigene Protokollvarienten implementiert, wird die Kommunikation zwischen Client und Server einfach nicht funktionieren.

viele Grüße,
Andreas