Impressum · Kontakt · Hilfe
Besucher online · Mitglieder



Portal > Foren > Java > Enterprise Java > Prob. mit ObjectOutPutStream

Layoutprobleme? - Styleswitcher!

Antwort
 
Themen-Optionen
Alt 15.03.2007, 15:36 Nach oben    #1
shrink
Neuer Benutzer
 
Registriert seit: 08.03.2007
Ort: berlin
Beiträge: 4
Standard Prob. mit ObjectOutPutStream

Hab ein Problem mit dem senden und empfangen eines Objekts über ObjectOutPutStream bzw. ObjectInputStream.
In ChatAppletThread: Zeile 49 wird in receiveCommands() eine StreamCorruptedException: invalid type code: AC geschmissen,
obwohl überhaupt nix losgeschickt wurde. An dieser Stelle soll lediglich gewartet werden bis das irgendwann das nächste Objekt geschickt wird.
In Zeile 37 habe ich aber vorher bereits einmal erfolgreich ein solches Objekt gelesen.
Das Objekt, das in Zeile 37 gelesen wird, wurde in ChatServer: Zeile 301
losgeschickt.
Wieso wird in ChatAppletthread diese StreamCorruptedException geschmissen??

ChatAppletThread : http://rafb.net/p/gGCQmp23.html
ChatServer : http://rafb.net/p/NE0w6u18.html

Geändert von shrink (15.03.2007 um 15:39 Uhr).
shrink ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.03.2007, 16:04 Nach oben    #2
JumperII
Erfahrener Benutzer
 
Benutzerbild von JumperII
 
Registriert seit: 27.02.2006
Beiträge: 136
Standard

Hallo,

1. Wird das Exception wohl kaum in einen Funktionsaufruf geschmissen ....
2. Wäre die komplette Exception-Meldung schon hilfreich
3. StreamCorruptedException - Control information in the stream is inconsistent .... Kann es sein, dass man mit appletchat.getIn().available() erst einmal abfragen sollte, ob, überhaupt etwas im Stream hängt?

Gruß,
Jumper, the II.
JumperII ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.03.2007, 18:00 Nach oben    #3
shrink
Neuer Benutzer
 
Registriert seit: 08.03.2007
Ort: berlin
Beiträge: 4
Standard

Zitat:
Zitat von JumperII Beitrag anzeigen
1. Wird das Exception wohl kaum in einen Funktionsaufruf geschmissen ....
2. Wäre die komplette Exception-Meldung schon hilfreich
3. StreamCorruptedException - Control information in the stream is inconsistent .... Kann es sein, dass man mit appletchat.getIn().available() erst einmal abfragen sollte, ob, überhaupt etwas im Stream hängt?
Bin java newb.
Ich versuch mal korrekt zu antworten.^^
1. Die Exception wird in readCommandObject() abgefangen. readCommandObject() wiederum wird von receiveCommands() aufgerufen.
Hab ich mich wohl ein bisschen ungeschickt ausgedrückt.
2. Die komplette Exception-Meldung lautet: StreamCorruptedException: invalid code type: AC. Sowie zuvor auch gepostet. Mehr ist da nicht.
3.Kann sein^^. Ich hab mal ein if( chatapplet.getIn().available() > 0 ) davor gesetzt. Hatt nichts gebracht. Bzw. bin mir unsicher ob ich die available() Abfrage so einsetze??
shrink ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 15.03.2007, 18:24 Nach oben    #4
JumperII
Erfahrener Benutzer
 
Benutzerbild von JumperII
 
Registriert seit: 27.02.2006
Beiträge: 136
Standard

Um ganz offen zu sein, so unspezifiziert kann man es nicht lösen. Ich müsste jetzt hergehen und die beiden Programm-Fragmente bereinigen bzw. die Funktionalität nachprogrammieren, damit man sich das ganze genauer anschauen kann. Wenn Du ein Newbi bist, wäre das vielleicht eine gute Übung, genau den eigentlichen Fehlerfall betrachtend einen Server und ein Client zu schreiben, mit dem Du das vorliegende Problem nachstellt.

Gruß,
Jumper, the II.
JumperII ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.03.2007, 01:58 Nach oben    #5
JumperII
Erfahrener Benutzer
 
Benutzerbild von JumperII
 
Registriert seit: 27.02.2006
Beiträge: 136
Standard

So, nachdem ich etwas rumexperimentiert habe, hier das Ergebnis. Das Hauptproblem scheint die ungenügende Behandlung des Streams beim ObjectInputStream zu sein. Grundsätzlich sollte man einen ObjectInputStream ausschließlich über einen BufferedInputStream ansteuern.

D.h. anstatt eines
Code:
ObjectInputStream objIn = new ObjectInputStream( sock.getInputStream());
ist
Code:
ObjectInputStream objIn = new ObjectInputStream( new BufferedInputStream( sock.getInputStream()));
zu verwenden.

Interessanterweise scheint es im Ausgangsbereich bei weitem nicht so problematisch zu sein.

Gruß,
Jumper, the II.
JumperII ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.03.2007, 09:53 Nach oben    #6
shrink
Neuer Benutzer
 
Registriert seit: 08.03.2007
Ort: berlin
Beiträge: 4
Standard

Hab ich gerade mal ausprobiert.
Kriege nach wie vor die StreamCorrupptedException: invalid type code: AC
shrink ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 16.03.2007, 09:58 Nach oben    #7
JumperII
Erfahrener Benutzer
 
Benutzerbild von JumperII
 
Registriert seit: 27.02.2006
Beiträge: 136
Standard

ich schick dir später mal meine Sourcen zu einem Test-Server/Client mit Object-Transfer.

Du solltest die Kommunikationsanteile von der Oberflächendarstellung sauber trennen. Es erleichtert das suchen des tatsächlichen Fehlers. Bei meinen Tests habe ich grundsätzlich die Fehler ohne BufferedStreams auch erhalten .... mit nicht.
JumperII ist offline  
Add Post to del.icio.usBookmark Post in TechnoratiDiesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

« ein kleiner Schritt für einen Profi, ein großer für mich... helft mir bitte!!! | JavaMail [Client] »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge anzufügen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Trackbacks are An
Pingbacks are An
Refbacks are Aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tabellenlayout IE prob Niedi HTML, XML und CSS 9 12.07.2006 15:08
Prob. beim Ordner löschen X-Unity.de PHP-Programmierung 15 19.03.2006 11:27
Eigene Image-Funktion,Endlosschleifen Prob. X-Unity.de PHP-Programmierung 4 18.03.2006 11:20
Kleines Prob mit phpBB Template System Garnele PEAR, PECL und Frameworks 6 22.10.2005 00:31
Anderes Prob mit Bens Login-Tut: Parse Error in validateLogin Jake PHP-Programmierung 8 14.10.2005 20:49


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:51 Uhr.

Nach oben
Wir nutzen das Zend Framework, vBulletin (vBulletin v3.6.7, Copyright ©2000-2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.0.0) und vBSEO.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44