ho cambiato il while:

while (1)
{

if (read (fdf, richiesta, 15) > 0)
printf ("%s\n", richiesta);
else
if (read (fdf, richiesta, 15) == -1)
printf ("\n Errore \n");
}

e cosi' mi funziona...mi stampa "ciaoooo" ogni volta che lancio il client....

ma non capisco perche' prima stampava all'infinito .... se non controllo mi fa i scherzi se controllo si mette paura?