IhopeonlyReader hat folgendes geschrieben : |
heißt das, dass es mit dem selben Code dort doch unterschiede geben kann?
und dort ein schwer zu findender Fehler sich verstecken könnte? |
Hauptsächlich, wenn du es machst wie im Beispiel. Sprich einen Integerwert schreiben und einen Bytewert lesen.
Wenn du die gleiche Methode zum Lesen und Schreiben verwendest, ist es schon einmal sehr viel unwahrscheinlicher, dass ein Problem auftritt.
Was trotzdem passieren könnte, wäre der Unterschied Big Endian <> Little Endian. Ob das ein Problem ist, wenn du einen Stream auf x86 und ARM mit Lazarus benutzt und hin- und herschickst, kann ich dir nicht sagen, da unsere Cross Platform Lösungen dies bereits automatisch behandeln.
Das passiert so, dass es beim Senden in die Network Byte Order umgewandelt wird und beim Empfangen in die eigene Byteorder, falls notwendig. Dafür gibt es auch entsprechende Low-Level-Funktionen.