Innanzi tutto stiamo usando le nio con i canali in modalità non bloccante. il problema è che se noi scriviamo sul canale un ByteBuffer "grande" questi viene spedito tutto ( la write ci indica che vendono scritti tutti i byte), ma quando andiamo a leggere dal canale con la read(ByteBuffer) questa ci indica che abbiamo letto un numero di byte inferiore, e solo dopo più letture ( a seconda della dimensione del buffer spedito) riceviamo l'intero numero di byte