Non ho letto in dettaglio tutto il codice, ma a parte il fatto che mancano diversi header file (stdlib.h, string.h, unistd.h, sys/wait.h) c'è questa riga del server che è sicuramente sbagliata da un punto di vista "semantico", non sintattico:
in pratica significa: "a nread assegna il valore booleano di read(...) > 0", quindi nread varrà sempre 0 o 1 e non il numero di byte letti...codice:while(nread=read(ns, buff, DIM_BUFF)>0) {
Questo è sicuramente da aggiustare, controlla se non hai fatto lo stesso errore anche altrove.codice:while ((nread = read(ns, buff, DIM_BUFF)) > 0) {

Rispondi quotando