L'ho provato e dovrebbe andare, questo ovviamente apportando quella correzione e preferibilmente aggiungendo gli header file mancanti di cui ti dicevo. Inoltre, c'è un piccolo problema nell'invio del nome del file al server:
codice:
read(ns, buff, DIM_BUFF);
ti consiglio vivamente di aggiustare così:
codice:
nread = read(ns, buff, DIM_BUFF);
buff[nread] = '\0';
altrimenti il server in buff avrà il nome del file tra i primi caratteri e poi una serie di byte sporchi. Inoltre visto che, se il server non ha il file, lo crea, nella open() andrebbero considerati anche i permessi da impostare sul file come terzo argomento.