str_cli09.c 499 B

12345678910111213141516171819202122232425
  1. #include "unp.h"
  2. #include "sum.h"
  3. void
  4. str_cli(FILE *fp, int sockfd)
  5. {
  6. char sendline[MAXLINE];
  7. struct args args;
  8. struct result result;
  9. while (Fgets(sendline, MAXLINE, fp) != NULL) {
  10. if (sscanf(sendline, "%ld%ld", &args.arg1, &args.arg2) != 2) {
  11. printf("invalid input: %s", sendline);
  12. continue;
  13. }
  14. Writen(sockfd, &args, sizeof(args));
  15. if (Readn(sockfd, &result, sizeof(result)) == 0)
  16. err_quit("str_cli: server terminated prematurely");
  17. printf("%ld\n", result.sum);
  18. }
  19. }