Hallo zusammen,
ich möchte demnächst ein einfaches XML-Protokoll über eine Socket-Verbindung serverseitig implementieren. Das ist zunächst also ein "unverzweigtes" Frage-Antwort-Spiel also z.B sowas wie
S: <Hello/>
C: <Hello/>
S: <Request id="1"><GetInfo/><Request>
C: <Response id="1"><Info name="Hans Wurst" type="tralala"/>
...
C: <Request id="100"><GetValueXYZ/></Request>
S: <Response id="100"><Data name="XYZ" val="12345"/>
...
C: <Bye/>
S: <Bye/>
ENDE.
Alles anzeigen
Frage ist: Wie implementiert man so etwas im Allgemeinen? Grundsätzlicher Ansatz ist mir klar, ich würde auf dem Inputstream lauschen (zB in einer Runnable), jeweils in von öffnendem und schließenden Tag eingeschlossene Brocken aufteilen, und gleichzeitig über einen Outputstream Daten rausschreiben. Nur: Gibt es da einen generellen Ansatz, wie man "das Protokoll als solches" handelt? Klar ist, dass ich parsen muss, wie und wo halte ich mir aber z.B. den aktuellen Stand der Kommunikation (also hat der Client schon "Hello" gesagt) und wie entscheide ich, auf welche Frage ich was antworte? Es muss ja eine Art Protokoll-Handler geben, gibt es da Standard-Herangehensweisen? Literatur?
Viele Grüße,
FargoTof