la read ritorna zero non -1 per cui non va in errore. Il frammento di codice è questo:
codice:
while(1){
int c = read(sock_1,&pari,4);
int b = read(sock_2,&dispari,4);
printf("pari:%d\n",pari);
printf("dispari:%d\n",dispari);
printf("letti:%d\n",c);
printf("letti:%d\n",b);
if(pari<0||dispari<0){
printf("if\n");
break;}
somma = pari + dispari;
divisione = somma%2;
if(divisione==0){
write(sock_1,WON,strlen(WON)+1);
write(sock_2,LOST,strlen(LOST)+1);
printf("se f è zero\n");
//close(sock_1);
//close(sock_2);
}
else{
write(sock_1,LOST,strlen(LOST)+1);
write(sock_2,WON,strlen(WON)+1);
//close(sock_1);
printf("else\n");
//close(sock_2);
}
}