Ecco le altre write:

codice:
while(write(sock,utente.nickname,sizeof(utente.nickname)) <= 0) {
		if(errno != EINTR) {
            if(errno == ECONNRESET || errno == EPIPE) {
                printf("\nErrore nella write di [nickname]: CONNESSIONE FALLITA\n");
                return -1;
            }
            else {
                printf("La write di [nickname] è fallita\n");
                return -1;
            }
        }
        printf("Errore system call write [nickname]\n");
}
	
while(write(sock,utente.password,sizeof(utente.password)) <= 0) {
		if(errno != EINTR) {
            if(errno == ECONNRESET || errno == EPIPE) {
                printf("\nErrore nella write di [password]: CONNESSIONE FALLITA\n");
                return -1;
            }
            else {
                printf("La write di [password] è fallita\n");
                return -1;
            }
        }
        printf("Errore system call write [password]\n");
}
E le rispettive read:
codice:
while(read(sock,utente.nickname,sizeof(utente.nickname)) <= 0) {
		if(errno != EINTR) {
            if(errno == ECONNRESET || errno == EPIPE) {
                printf("\nErrore nella read di [nickname]: CONNESSIONE FALLITA\n");
                return -1;
            }
            else {
                printf("La read di [nickname] è fallita\n");
                return -1;
            }
        }
        printf("Errore system call read [nickname]\n");
}
	
while(read(sock,utente.password,sizeof(utente.password)) <= 0) {
		if(errno != EINTR) {
            if(errno == ECONNRESET || errno == EPIPE) {
                printf("\nErrore nella read di [password]: CONNESSIONE FALLITA\n");
                return -1;
            }
            else {
                printf("La read di [password] è fallita\n");
                return -1;
            }
        }
        printf("Errore system call read [password]\n");
}