Devo inviare un file da Server al Client, utilizzo FileInputStream per leggere i dati del file e OutputStream associato alla socket del client per inviare i dati.
Se non chiudo l’OutputStream ho problemi nella lettura del file nel client, il quale rimane bloccato nel ciclo di lettura, forse aspettandosi ancora dei dati.codice:FileInputStream f = new FileInputSteam(C:\\file.txt); OutputStream o = sock_client.getOutputStream(); ……… while((p =f.read(buf))!= -1) { o.write(buf,0,p); } f.close(); o.close();
Se invece chiudo l’OutputStream succede che la socket associata al client mi viene chiusa anche se non lo faccio esplicitamente, infatti quando nel resto del programma invio un informazione al client viene lanciata un eccezione dicendomi che la socket è stata chiusa.
A me serve inviare il file e continuare ad interagire con il client per altre cose come posso fare?

Rispondi quotando

