K
koooala
Gast
Hallo,
ich versuche, mich möglichst kurz zu fassen.
Die Idee für mein Protokoll steht:
Vom Client bekomme ich (der Server) ein paar Bytes unbestimmter Länge. Warum? Ganz einfach.
Mein Protokoll ist grob gesehen so aufgebaut:
[4 Bytes: Art der Nachricht][n Bytes: Parameter abhängig von der Art der Nachricht]
Mein Hauptproblem ist, dass ich nicht genau weiß, wie man das Auslesen angeht. Ich kenne ja leider nicht die Länge der "Einheit".
Demnach muss ich erst die ersten 4 Bytes lesen, analysieren, um welche Nachrichtenart es sich handelt und anschließend nochmal die Parameter auflösen. Das können Integer (4 Byte) oder Strings (4 Byte für die Länge [Integer] + n Byte String) sein.
Der String selbst ist dann auch nochmal nach dem Prinzip aufgebaut: Erst wird die Länge gelesen und anschließend liest man so viel Puffer, wie die Länge... lang ist.
Ich weiß nun nur nicht, wie man generell an selbstdefinierte Protokolle mit Java ran geht.
Ich könnte über den Socket ja erst immer 4 Byte lesen und dann alles auswerten lassen usw.
Nur bewege ich mich damit stark "low-levelig" am Netzwerk.
Ich möchte aber meine Logik von den "Standard" Funktionen abkoppeln. Jemand Vorschläge bzw. ein paar Klassen, die hilfreich sein könnten?
ich versuche, mich möglichst kurz zu fassen.
Die Idee für mein Protokoll steht:
Vom Client bekomme ich (der Server) ein paar Bytes unbestimmter Länge. Warum? Ganz einfach.
Mein Protokoll ist grob gesehen so aufgebaut:
[4 Bytes: Art der Nachricht][n Bytes: Parameter abhängig von der Art der Nachricht]
Mein Hauptproblem ist, dass ich nicht genau weiß, wie man das Auslesen angeht. Ich kenne ja leider nicht die Länge der "Einheit".
Demnach muss ich erst die ersten 4 Bytes lesen, analysieren, um welche Nachrichtenart es sich handelt und anschließend nochmal die Parameter auflösen. Das können Integer (4 Byte) oder Strings (4 Byte für die Länge [Integer] + n Byte String) sein.
Der String selbst ist dann auch nochmal nach dem Prinzip aufgebaut: Erst wird die Länge gelesen und anschließend liest man so viel Puffer, wie die Länge... lang ist.
Ich weiß nun nur nicht, wie man generell an selbstdefinierte Protokolle mit Java ran geht.
Ich könnte über den Socket ja erst immer 4 Byte lesen und dann alles auswerten lassen usw.
Nur bewege ich mich damit stark "low-levelig" am Netzwerk.
Ich möchte aber meine Logik von den "Standard" Funktionen abkoppeln. Jemand Vorschläge bzw. ein paar Klassen, die hilfreich sein könnten?