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
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