Socketprogrammierung: ObjectInputStream und InputStreamReader über selben InputStream

MartinEnergy

Grünschnabel
Guten Abend alle miteinander :)

Wie der Titel bereits vermuten lässt habe ich ein Problem bei der Socketprogrammierung.

Hier mein Problem bei dem ich mich über eure Hilfe freuen würde:
Ich habe eine Client-Server verbindung über die ich normalerweise via BufferedWriter schreibe und via BufferedReader (über InputStreamReader) lese. Das funktioniert ohne Probleme, wenn ich allerdings danach über den selben InputStream ein Objekt lesen möchte bekomme ich folgende Exception: java.io.StreamCorruptedException: invalid stream header: 7B737200

Ich habe bei google recherchiert und herausgefunden dass die Exception ausgelöst wird da der ObjectInputStream die "magischen Zeichen" nicht lesen kann da diese bereits vom BufferedReader gelesen wurden.

Weiß zufällig jemand wie ich dieses Problem lösen kann?

Ich bin für jede Hilfe dankbar!

Liebe Grüße,
MartinEnergy
 
Hi

BufferedReader/Writer arbeiten textbasiert.
Das beißt sich generell mit jeder Art von Binärdaten.

Man könnte zB. alles serializieren und die Textstreams komplett weglassen,
oder getrennte Sockets machen
oder...

PS: "Magische" Zeichen... :rolleyes:
Bitte nicht von sowas reden. Gibts nicht.
 
Hallo

Danke für die schnelle Antwort :)

Also wenn es nicht möglich ist beides über den selben InputStream bzw. OutputStream zu nutzen muss ich mir eben etwas anderes überlegen.

PS: "Magische" Zeichen...
Bitte nicht von sowas reden. Gibts nicht.
Hab vorher auch nichts davon gehört hab das von dieser Website.

Gruß
MartinEnergy
 
Zurück