Che la recv non riceva tutti i dati è possibile normalmente per messaggi molto lunghi.
Se ti funziona il for(), può essere che
send (ds_sock_acc,"\nFatto",10,0);
dovrebbe inviare 6 caratteri, ma tu ne fai inviare 10, i cui ultimi 4 sono casuali nello stack.
__________________
Gianni
|