Hallo, ich habe folgendes Problem.
Ich habe einen Client und einen Server. Der Client liest eine Bilddatei ein und sendet sie an den Server. Es wird alles erfolgreich an den Server geschickt (soweit es für mich ersichtlich war), der Thread im Server beendet sich jedoch einfach nach ein paar Bytes. Bei kleinen Bildern funktioniert alles super, bei großen Bilden treten die geschilderten Probleme auf
Anbei einmal den Code.
P.S: Ich lerne gerade erst Netzwerkprogrammierung
Client:
Server:
Ich habe einen Client und einen Server. Der Client liest eine Bilddatei ein und sendet sie an den Server. Es wird alles erfolgreich an den Server geschickt (soweit es für mich ersichtlich war), der Thread im Server beendet sich jedoch einfach nach ein paar Bytes. Bei kleinen Bildern funktioniert alles super, bei großen Bilden treten die geschilderten Probleme auf
Anbei einmal den Code.
P.S: Ich lerne gerade erst Netzwerkprogrammierung
Client:
Java:
public static void sendeBild(OutputStream out) {
try {
InputStream in = new FileInputStream("C:\\Users\\mblan\\Desktop\\Hallo.png");
byte[] buffer = new byte[1024];
while(in.available() > 0) {
int bytesRead = in.read(buffer);
if(bytesRead == -1) break;
out.write(buffer, 0, bytesRead);
System.out.println(bytesRead);
}
in.close();
System.out.println("Bild gesendet");
} catch (Exception e) {
e.printStackTrace();
}
}
Server:
Java:
try {
System.out.println("[Server] Bild angekommen");
InputStream in = ServerBild.inputBild.get(meineVerbindungsNummer);
FileOutputStream fileIO = new FileOutputStream("C:\\Users\\mblan\\Desktop\\Bild1.png");
byte[] buff = new byte[1024];
while(in.available() > 0) {
int bytesRead = in.read(buff);
fileIO.write(buff, 0, bytesRead);
System.out.println("[Server]" + bytesRead);
}
System.out.println("[Server] fertig");
fileIO.close();
} catch (IOException e) {
e.printStackTrace();
}