Du kannst Sie aber stückchenweise transportieren, damit Du nicht die gesamten Daten auf einmal in den Speicher laden mußt. Zerlege dazu jeweils 3 Bytes in 4 base64 kodierte Zeichen. Das macht 3*8=24 Bits, die in 4 base64 Zeichen a 6 Bits konvertiert werden. So brauchst Du lediglich den Speicher, um 3 Bytes base64 kodieren zu können. Die werden bei der Abfrage an den Client geschickt, dann liest Du die nächsten 3 Bytes aus der Datei usw. bis alle Bytes geschickt wurden.
Dadurch schicke ich alle 1-2 ms 3 Codierte Byte über meine TCP. Bei 64KB dauert es damit bei 1 ms/3 ca. 22 Sec. ehe ich die Datei am Client habe zum anzeigen/bearbeiten.
Für die serverseitige Konvertierung wäre dazu lediglich ein Feld mit den 64 base64-Zeichen erforderlich, also 64 Bytes.
Das mit dem Base64 habe ich bei allen anderen Daten bereits gemacht. Von daher ist hier nichts zusätzliches nötig.
Ich habe jetzt meinen anderen Ansatz, die Daten beim Senden auf die Leitung zu Catchen (das aktuelle Sendebyte) und dies dann als 2 Byte HEX zu senden umgesetzt. Das funktioniert ganz vernünftig. Mit dieser Methode habe ich die Daten in ca. 3 Sek. am Client. Ich denke, ich werde es dabei belassen.
Michael