Ciao prego, qui per aiutare!!
Pero' nella tua soluzione trovo un problemino, la funzione recv e di tipo bloccante (se non sbaglio) cio implica che finche non riceve tutto non esce da se stessa, percui se per qualche problema anche un solo byte non viene perso pe qualche motivo, il tuo programma rimarra li fermo.
Percui non la trovo molto sicura!
bye bye