Ich will vom Client eine Datei zum Server übertragen, das funktioniert auch! aber leider wartet der Server im read() nach dem ende der übertragung! (also er erhält kein end of stream) weis einer von euch warum?
Senden der Daten:
Empfangen der Daten:
Also beim Empfangen wartet er im "in.read(buffer)" bis ein Timeout auftritt (durch setSoTimeout gesetzt), obwohl dmie Datei bereits vollständig übertragen ist!
Den Socket will ich aber noch nicht schließen, da ich dem Client noch eine Antwort schicken will (erfolgreich empfangen, oder eben eine Fehlermeldung...)
Also nach dem Senden der Datei wartet der Client in einem read() auf eine antwort, läuft aber auch in ein Timeout da der Server keine antwort sendet (wartet ja noch im read())
was mache ich falsch?
danke
Senden der Daten:
Java:
int len = 0;
while ((len = is.read(buffer)) > 0) // Auslesen der Datei und...
{
out.write(buffer, 0, len); //...Senden (Out ist ein OutputStream)
}
Empfangen der Daten:
Java:
while ((byteCounter = in.read(buffer)) > 0) //in. ist ein InputStream
{
os.write(buffer, 0, byteCounter); //os. Ist ein FileOutputStream
}
Also beim Empfangen wartet er im "in.read(buffer)" bis ein Timeout auftritt (durch setSoTimeout gesetzt), obwohl dmie Datei bereits vollständig übertragen ist!
Den Socket will ich aber noch nicht schließen, da ich dem Client noch eine Antwort schicken will (erfolgreich empfangen, oder eben eine Fehlermeldung...)
Also nach dem Senden der Datei wartet der Client in einem read() auf eine antwort, läuft aber auch in ein Timeout da der Server keine antwort sendet (wartet ja noch im read())
was mache ich falsch?
danke
Zuletzt bearbeitet: