Mi sono accorto che se tolgo questa parte dal client tutto funziona....Non so più dove sbattere la testa.
codice:
/*	/* Effettuo la lettura della risposta del server
	nread=0;
	while((len > nread) && ((n = read(socketfd, &(buffer[nread]), len-nread)) >0))
	{
		nread += n;
		printf("read effettuata, risultato n=%d len=%d nread=%d len-nread=%d\n", n, len, nread, len-nread);
		fflush(stdout);
	}

	/* Stampo la risposta del server
	printf("Il server dice: %s\n", buffer);
	fflush(stdout);     */