Hallo danke im Vorraus für eure Hilfe!
Ich habe folgendes Problem mit meiner Client-Server Anwendung:
Der Server soll dem Client Dateien zusenden. Dies geschieht bei größeren Dateien fast vollständig, doch beim Client kommen immer etwa 1-2 Kbyte weniger an. Die Folge ist dann, dass die Datei beschädigt ist...
Versucht man Dateien mit einer größe von ein paar Kbyte zu versenden, dann funktioniert nur der Sendevorgang, der Client erhält nichts!
Hier mal ein Codeschnipsel der Sende/Empfangsfunktion:
Der Server:
Und der Client:
Ich probiere nun schon den ganzen Abend den Fehler zu finden, doch vergebens! Hoffe ihr könnt mir weiter helfen!
Danke im Vorraus
Micha
Ich habe folgendes Problem mit meiner Client-Server Anwendung:
Der Server soll dem Client Dateien zusenden. Dies geschieht bei größeren Dateien fast vollständig, doch beim Client kommen immer etwa 1-2 Kbyte weniger an. Die Folge ist dann, dass die Datei beschädigt ist...
Versucht man Dateien mit einer größe von ein paar Kbyte zu versenden, dann funktioniert nur der Sendevorgang, der Client erhält nichts!
Hier mal ein Codeschnipsel der Sende/Empfangsfunktion:
Der Server:
Code:
File fl = new File( daten.get(Integer.parseInt(dateiname)).toString() ); //Dateiname wird von einer anderen Funktion übergeben (Datei wird auch vollständig gelesen)
FileInputStream file = new FileInputStream(daten.get(Integer.parseInt(dateiname)).toString() );
BufferedOutputStream out = new BufferedOutputStream(client.getOutputStream());
byte[] buffer = new byte[1024];
while (file.read(buffer) != -1) {
out.write(buffer);
}
out.close();
file.close();
client.close(); // Die Socketverbindung
Und der Client:
Code:
byte[] buffer = new byte[1024] ;
int n;
while ( (n = fileIn.read(buffer)) != -1) {
fileStream.write(buffer,0,n);
count++;
}
fileStream.close();
fileIn.close();
sock.close();
Ich probiere nun schon den ganzen Abend den Fehler zu finden, doch vergebens! Hoffe ihr könnt mir weiter helfen!
Danke im Vorraus
Micha