Hallo,
ich möchte für den FileTransfer zwischen zwei Clients je einen ProgressBar anzeigen lassen. Um den aktuellen wert des Bars festzulegen, lese ich beim Sender den OutputStream aus, d.h., ich addiere alle geschriebenen ints auf, und übergeben dann den Wert:
Beim Empfänger sieht's genau so aus, nur lese ich hier den InputStream aus:
Das Problem liegt bei der Anzeige: egal wie gross die gesendete Datei ist: der ProgressBar geht viel zu schnell hoch und stimmt mit der Übertragung nicht überein.
Weiss jemand woran das liegen könnte?
Danke & Gruss
zubi
ich möchte für den FileTransfer zwischen zwei Clients je einen ProgressBar anzeigen lassen. Um den aktuellen wert des Bars festzulegen, lese ich beim Sender den OutputStream aus, d.h., ich addiere alle geschriebenen ints auf, und übergeben dann den Wert:
Code:
socket = new Socket(address, port);
BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));
BufferedOutputStream outFile = new BufferedOutputStream(socket.getOutputStream());
int i;
while ((i = in.read()) != -1) {
outFile.write(i);
progressFile.updateBar(size += i);
}
Beim Empfänger sieht's genau so aus, nur lese ich hier den InputStream aus:
Code:
BufferedOutputStream outFile = new BufferedOutputStream(new FileOutputStream(file));
BufferedInputStream inStream = new BufferedInputStream(socket.getInputStream());
int i;
while ((i = inStream.read()) != -1) {
outFile.write(i);
progressFile.updateBar(size += i);
}
Das Problem liegt bei der Anzeige: egal wie gross die gesendete Datei ist: der ProgressBar geht viel zu schnell hoch und stimmt mit der Übertragung nicht überein.
Weiss jemand woran das liegen könnte?
Danke & Gruss
zubi