Hallo,
Ich brauche ein Generisches Netzwerk Protokoll was sich nahe zu beliebig erweitern lässt.Nun habe ich das LAND-Protokoll sagen wir es mal so ein wenig verhuntzt. Stichwort Header.
Das gesamte Protokoll sieht z.Zt. so aus: <vier stellige Zahl als Dienst Kennung>|<JSON-Payload>, jetzt brauche ich alerdings noch einige weitere Details im Header weshalb die Frage ist wie ich es abwärts kompatibel umschreiben kann. Ich würde gerne eure meunung zum jetzigen vorschlag hören.
Da der Server jede ReadLine Abfrage in ein Arrray einliest mit der String.Split Methode würde ich die lenge des Arraeys abfragen und dann endscheiden. Wen die länge 2 (1) ist, dann ist auf 0 (weil Nullbasierender Index) die Alte Dienst Kennung wie gehabt. Wen das Array 3 elemente hat (wo von feld 1 der Header, Feld 2 der Payload ist) dann ist es die neue Version des Protokolls.
Oder Altanativ lasse ich beim Connect ein Inzialen Handshake laufen der beim Verbinden durchgeführt wird, bleibt dieser aus (z.Zt. wird nur ein Login mitgeschickt) dann geht der Server weiter hin von alten Protokoll aus.
Würde eure vorschläge gerne mal hören.
LG, J.Herbrich
Ich brauche ein Generisches Netzwerk Protokoll was sich nahe zu beliebig erweitern lässt.Nun habe ich das LAND-Protokoll sagen wir es mal so ein wenig verhuntzt. Stichwort Header.
Das gesamte Protokoll sieht z.Zt. so aus: <vier stellige Zahl als Dienst Kennung>|<JSON-Payload>, jetzt brauche ich alerdings noch einige weitere Details im Header weshalb die Frage ist wie ich es abwärts kompatibel umschreiben kann. Ich würde gerne eure meunung zum jetzigen vorschlag hören.
Da der Server jede ReadLine Abfrage in ein Arrray einliest mit der String.Split Methode würde ich die lenge des Arraeys abfragen und dann endscheiden. Wen die länge 2 (1) ist, dann ist auf 0 (weil Nullbasierender Index) die Alte Dienst Kennung wie gehabt. Wen das Array 3 elemente hat (wo von feld 1 der Header, Feld 2 der Payload ist) dann ist es die neue Version des Protokolls.
Oder Altanativ lasse ich beim Connect ein Inzialen Handshake laufen der beim Verbinden durchgeführt wird, bleibt dieser aus (z.Zt. wird nur ein Login mitgeschickt) dann geht der Server weiter hin von alten Protokoll aus.
Würde eure vorschläge gerne mal hören.
LG, J.Herbrich