Socketschnittstelle: Encoding von ByteArrays

Thorsten Brach

Grünschnabel
Hallo ich hätte eine Frage bezüglich des Encoding von ByteArrays:

Ich habe eine Socketkommunikation geschrieben bei der Ich Daten aus einer Soft-PLC an einen Windowsservice übertrage.

Bei der Socketkommunikation ist es ja so, dass die Daten als ByteArray übertragen werden.

Jetzt meine Frage:

Ist es Möglich die ByteArrays wieder zu encoden ?

Ich sende auf der Soft-PLC-Seite verschiedene Datentypen wie z.B. Integer, Boolean, String , Real etc.

Ich hätte "service-seitig" natürlich gerne, dass ich dort die gleichen Typen aus dem ByteArray wieder raus bekommen...


Klar - ich kann die Bytes abzählen und anhand der Länge und der Reihenfolge der einzelnen Datentypen die Bytes wieder zuordnen

Aber damit bin ich nicht frei mit dem Encoden...

Erweiter ich meine SendeStruktur auf PLC-Seite, dann muss ich zwangsläufig mein Encoding anpassen...

Gut - Alternativ könnte ich vor jedem Datentyp eine Preampel mitsenden, worauf hin ich dann weis,
welcher Datentyp gerade übertragen wird und wieviel Bytes der Datentyp lang ist

allerdings finde ich das auch nicht so toll - bläht meine Sendestruktur nur unnötig auf...

Optimal wäre so etwas wo ich mit ner For Each - Schleife alle Elemente rausziehen kann - somit wäre ich offen für Erweiterungen...


z.B:

For each Datentyp in Empfangpuffer

do something

next



Ansonsten bleibt mir wohl nur das Abzählen und Zuordnen der Bytes....




mfg

Thorsten
 

Neue Beiträge

Zurück