dgclitimeo.c 498 B

1234567891011121314151617181920212223
  1. #include "unp.h"
  2. void
  3. dg_cli(FILE *fp, int sockfd, const SA *pservaddr, socklen_t servlen)
  4. {
  5. int n;
  6. char sendline[MAXLINE], recvline[MAXLINE + 1];
  7. while (Fgets(sendline, MAXLINE, fp) != NULL) {
  8. Sendto(sockfd, sendline, strlen(sendline), 0, pservaddr, servlen);
  9. if (Readable_timeo(sockfd, 5) == 0) {
  10. fprintf(stderr, "socket timeout\n");
  11. continue;
  12. }
  13. n = Recvfrom(sockfd, recvline, MAXLINE, 0, NULL, NULL);
  14. recvline[n] = 0; /* null terminate */
  15. Fputs(recvline, stdout);
  16. }
  17. }