1
1243sdf
Gast
Datei soll von Server zu Client geschickt werden.
Datei kommt zwar an, jedoch nur beschädigt mit 5 bytes (4KB sollte sie eigl. groß sein).
Danke!
Server:
Client:
Datei kommt zwar an, jedoch nur beschädigt mit 5 bytes (4KB sollte sie eigl. groß sein).
Danke!
Server:
Java:
public static void transferFile(File file, Socket client) {
try {
int b = 0;
byte[] buffer = new byte[1024];
OutputStream out = client.getOutputStream();
FileInputStream fis = new FileInputStream(file);
BufferedInputStream bis = new BufferedInputStream(fis);
DataInputStream dis = new DataInputStream(bis);
while (b != -1) {
b = dis.read(buffer);
out.write(b);
out.flush();
}
}
catch (FileNotFoundException exc) {
exc.printStackTrace();
}
catch (IOException exc) {
exc.printStackTrace();
}
}
Client:
Java:
public static void receiveFileFromServer(File targetFile) {
try {
InputStream in = Main.get().getSession().getConnection().getInputStream();
FileOutputStream fileOut = new FileOutputStream(targetFile);
byte[] buffer = new byte[1024];
while (Main.get().getSession().getConnection().getSocket().isConnected()) {
int bytesRead = in.read(buffer);
if (bytesRead == -1) break;
fileOut.write(buffer, 0, bytesRead);
}
fileOut.close();
}
catch (FileNotFoundException exc) {
exc.printStackTrace();
}
catch (IOException exc) {
exc.printStackTrace();
}
}