Hallo erstmal,
möchte gerade eine Client-/Server-Anwendung unter Java / RMI schreiben, dabei stellt sich die Frage inwiefern RMI die (möglicherweise) unterschiedlichen Charsets des Client- und Servers umwandelt.
Folgendes scheint erstmal machbar:
Soviel vorab, am liebsten würde ich über RMI lediglich Streams versenden, da für diese bereits eine RMI fähige Implementierung vorliegt, für Reader/Writer müsste diese wohl noch geschrieben werden. Wie stelle ich also sicher, dass auf Empfängerseite immer Text im korrekten (Empfänger-OS spezifischen) Encoding ankommt?
Achja, der Text muss deshalb im Empfänger-OS-Encoding ankommen, da dieser in Dateien geschrieben wird, die später von einer anderen Anwendung ausgewertet werden.
Danke schonmal vorab.
möchte gerade eine Client-/Server-Anwendung unter Java / RMI schreiben, dabei stellt sich die Frage inwiefern RMI die (möglicherweise) unterschiedlichen Charsets des Client- und Servers umwandelt.
Folgendes scheint erstmal machbar:
- Senden von reinen Strings -> Strings werden in Unicode formatiert
- Senden von BufferedReader-/BufferedWriter-Objeken sollte auch kein Problem sein, da diese bereits bei Instanziierung in der jeweiligen VM das Encoding mitbekommen.
- Senden von Stream-Objekten :question: --> Wenn im Server-Interface eine Methode deklariert ist, die einen Stream zurückgibt und im Client wird diese in einen StreamReader/-Writer gepackt, kann es passieren dass dann beim Lesen/Schreiben "Kauderwelsch" rauskommt?
- Außerdem, was passiert beim Versenden von Reader-/Writer-Objekten die auf Empfängerseite in einen BufferedReader/-Writer gepackt werden? Reader und Writer akzeptieren ja keine Angabe des Encodings im Konstruktor.
Soviel vorab, am liebsten würde ich über RMI lediglich Streams versenden, da für diese bereits eine RMI fähige Implementierung vorliegt, für Reader/Writer müsste diese wohl noch geschrieben werden. Wie stelle ich also sicher, dass auf Empfängerseite immer Text im korrekten (Empfänger-OS spezifischen) Encoding ankommt?
Achja, der Text muss deshalb im Empfänger-OS-Encoding ankommen, da dieser in Dateien geschrieben wird, die später von einer anderen Anwendung ausgewertet werden.
Danke schonmal vorab.