undertaker
Mitglied
Hallo! Habe folgendes Problem
Will mit Java über SSLSocket zuerst Objekte mit Steuerinformationen (String etc), dann eine oder mehrere Dateien und dann noch einige Objekte Übertragen.
Habe aber folgendes Problem:
Ich sende die Startinformationen mit einem ObjectOutputStream.
Dann sende Ich die Datei mit einem DataOutputStream.
Beide verwendet aber den Selben OutputStream vom Socket.
Das Problem habe ich nun am Server:
Ich les die Datei so ein :
Wenn aber der DataOutputStream im Client nicht beendet wird, dann wartet der di.read(bytes) so lange, bis noch etwas nachkommt.
Schliße ich den DataOutputStream im Client, schließe ich gleichzeitig den Socket und kann somit keine weiteren Daten in dieser "Session" mehr senden.
Kennt jemand eine Lösung bzw. kann es sein das ich das Problem am falschen Ort sehe?
mfg trauter
Will mit Java über SSLSocket zuerst Objekte mit Steuerinformationen (String etc), dann eine oder mehrere Dateien und dann noch einige Objekte Übertragen.
Habe aber folgendes Problem:
Ich sende die Startinformationen mit einem ObjectOutputStream.
Dann sende Ich die Datei mit einem DataOutputStream.
Beide verwendet aber den Selben OutputStream vom Socket.
Das Problem habe ich nun am Server:
Ich les die Datei so ein :
Code:
byte[] bytes = new byte[1024];
int b = di.read(bytes);
while (b!=-1){
fos.write(bytes,0,b); //In datei schreiben
b = di.read(bytes);
}
Wenn aber der DataOutputStream im Client nicht beendet wird, dann wartet der di.read(bytes) so lange, bis noch etwas nachkommt.
Schliße ich den DataOutputStream im Client, schließe ich gleichzeitig den Socket und kann somit keine weiteren Daten in dieser "Session" mehr senden.
Kennt jemand eine Lösung bzw. kann es sein das ich das Problem am falschen Ort sehe?
mfg trauter