dgclitimeo1.c 498 B

12345678910111213141516171819202122
  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. } else {
  12. n = Recvfrom(sockfd, recvline, MAXLINE, 0, NULL, NULL);
  13. recvline[n] = 0; /* null terminate */
  14. Fputs(recvline, stdout);
  15. }
  16. }
  17. }