# Geöffnete ObjectStreams aus mehreren Methoden nutzen



## abc-man (7. Jun 2006)

Hallo,

ich brauche Hilfe, weil ich einfach nicht weiter komme:

Ich habe eine Methode, die die Socketverbindung aufbaut, einen Handshake macht usw. .
Den ObjectInputStream und ObjectOutputStream schliesse ich dann nicht. Ich übergebe seine Referenz einem globalen ObjectStream. Diese Referenz kopier ich jetzt in einer völlig anderen Methode auf einen anderen ObjectStream.
Wenn ich mit .toString() von z.B. einen ObjectInputStream die Ausgaben vergleiche, sind sie identisch.
Leider bekomm ich in der "fremden" Methode nur IOExceptions, wenn ich was mit den ObjectStreams anstellen möchte.

Frage: Funktioniert das so überhaupt ?

Ich finde immer nur einfache Beispiele im Internet, wo die Kommunikation mit den Streams innerhalb einer Methode abläuft.

Leider hab ich nur noch 12 Std. Zeit, dass Ganze läuft 


Gruß, Manuel


Update: Ich hab ein kleines Testprogramm geschrieben, ausserhalb vom Projekt, an dem ich arbeite und dort gehts. Also muss ich was übersehen haben.
Den Code vom grossen Projekt hier reinzusetzen, wäre sicher Overkill. Trotzdem Danke


----------



## meez (8. Jun 2006)

Versuch den Stream mal zu reseten, wenn du ihn wieder brauchen willst...


----------



## abc-man (8. Jun 2006)

Ja, das mit dem reset ist wichtig, wie ich gemerkt habe, als ich ein int[][] verschickt habe und noch eins verschicken wollte  (sofern man ein vorhandes objekt noch mal durch den Stream schicken will, kommt dann nämlich wieder der alte zustand durch den stream durch...)

Gruß, Manuel


----------



## meez (8. Jun 2006)

Und ist das Problem damit gelöst?


----------



## Guest (8. Jun 2006)

Das mit den Exceptions lag teilweise daran, das 2 Threads ein readObject() auf den selben InputObjectStream ausgeführt haben.
Das reset()  hat das Problem gelöst, dass nach der ersten Übermittlung eines Objektes, alle darauf folgenden Übermittlungen des veränderten Objekts, auf der Gegenseite den alten Zustand des Objektes hervorbrachten.

Gruß, Manuel


----------

