il problema come immaginavo è che ru valuti solo l uscita 0 e non la -1.
Nel server avrai una cosa simile a questa:
codice:
while((n = reti_readline(sockfd, line, MAXLINE))> 0)
reti_writen(sockfd, ack, strlen(ack));
puts("debug server exit while");
togliendo il for;;
nel client avrai:
codice:
while(fgets(sendline, MAXLINE, fp)){
if ( reti_writen(sockfd, sendline, strlen(sendline)) <= 0) ...error
if(reti_readline(sockfd, recvline, MAXLINE)<=0){
printf("%s: server terminated prematurely", __FILE__);
exit(1);
}
fputs(recvline, stdout);
fflush(stdout);
}
scusa per il codice ma al phone fatico a far meglio