Hi!
Habe ein Programm geschrieben, dass bereits in der Lage ist, Chatnachrichten über Netzwerk zu senden und zu empfangen. Da das Programm auch Files übers Netz senden soll, will/muss ich zusätzlich Informationen über die zur Verfügung stehenden Dateien austauschen.
Wie im Chat lausche ich also nun auf Objekte, die Informationen mit sich bringen. Der Unterschied ist:
wenn ich also die Threads starte
ChatIncome ci = new ChatIncome(this,gui);
ci.start();
InfosIncome ii = new InfosIncome(this,gui);
ii.start();
bekomme ich beim Server folgende Fehlermeldung:
java.io.StreamCorruptedException: invalid stream header
at java.ibjectInputStream.readStreamHeader(Unknown Source)
at java.ibjectInputStream.<init>(Unknown Source)
at control.InfosIncome.run(InfosIncome.java:35) <<Zeile 35 ist übrigens das ObjectInputStream Objekt.>>
Weiterhin gibt er auf die Gui seltsame kryptische Zeichen aus, keine Ahnung warum.
Wenn ich den ChatIncome Thread nicht starte, funktioniert der Informationenaustausch problemlos! Allerdings kann ich dann nicht mehr chatten
Kann mir das einer erklären? bin ratlos. Vielen Dank.
Habe ein Programm geschrieben, dass bereits in der Lage ist, Chatnachrichten über Netzwerk zu senden und zu empfangen. Da das Programm auch Files übers Netz senden soll, will/muss ich zusätzlich Informationen über die zur Verfügung stehenden Dateien austauschen.
Wie im Chat lausche ich also nun auf Objekte, die Informationen mit sich bringen. Der Unterschied ist:
Code:
sockin = new BufferedReader(new InputStreamReader(client.getInputStream()));
while(true){
String text = sockin.readLine();
gui.setChatText(text);
}
Code:
ObjectInputStream ois = new ObjectInputStream(client.getInputStream());
while(true){
Object o = ois.readObject();
Participant p = (Participant) o;
gui.getController().addParticipant(p.getName(), p);
gui.updateParticipants();
InfosOutgoing io = new InfosOutgoing(comserver,gui);
io.start();
wenn ich also die Threads starte
ChatIncome ci = new ChatIncome(this,gui);
ci.start();
InfosIncome ii = new InfosIncome(this,gui);
ii.start();
bekomme ich beim Server folgende Fehlermeldung:
java.io.StreamCorruptedException: invalid stream header
at java.ibjectInputStream.readStreamHeader(Unknown Source)
at java.ibjectInputStream.<init>(Unknown Source)
at control.InfosIncome.run(InfosIncome.java:35) <<Zeile 35 ist übrigens das ObjectInputStream Objekt.>>
Weiterhin gibt er auf die Gui seltsame kryptische Zeichen aus, keine Ahnung warum.
Wenn ich den ChatIncome Thread nicht starte, funktioniert der Informationenaustausch problemlos! Allerdings kann ich dann nicht mehr chatten
Kann mir das einer erklären? bin ratlos. Vielen Dank.