Qualcosa di molto simile a quello che si è visto qualche tempo fa su questo forum proprio in un'applicazione Unix client/server... consiglio di compilare *sempre* con opzioni più restrittive, in particolare -Wall.
Questa riga nel server
considerando solo la prima condizione, significa "a conn_fd assegna il valore di accept(...) <= 0", quindi conn_fd varrà 0 o 1 a seconda del fatto che il valore restituito dalla accept() sia o non sia <= 0.codice:while( (conn_fd=accept(list_fd,(struct sockaddr*)&cli_add,&len) <= 0) && (errno==EINTR))
non ho controllato bene tutto l'output e tutto il codice, ma in questo modo il server riceve la stringa e la stampa. Consiglio anche di includere gli header file unistd.h e fcntl.h che mancano in entrambi i codici, pur essendo necessari.codice:while( (conn_fd=accept(list_fd,(struct sockaddr*)&cli_add,&len)) <= 0 && (errno==EINTR))

Rispondi quotando