tshutdown.c 681 B

1234567891011121314151617181920212223242526272829303132333435
  1. #include "unp.h"
  2. #define BUFF 100000
  3. char buff[BUFF];
  4. int
  5. main(int argc, char **argv)
  6. {
  7. int sockfd, nbytes;
  8. ssize_t n;
  9. if (argc != 3)
  10. err_quit("usage: tshutdown <hostname> <service>");
  11. sockfd = Tcp_connect(argv[1], argv[2]);
  12. fprintf(stderr, "connected\n");
  13. while ( (n = Read(STDIN_FILENO, buff, BUFF)) > 0) {
  14. Writen(sockfd, buff, n);
  15. }
  16. Close(STDIN_FILENO);
  17. /* Shutdown(sockfd, SHUT_WR); */
  18. nbytes = 0;
  19. while ( (n = Read(sockfd, buff, BUFF)) > 0) {
  20. /* fprintf(stderr, "read %d bytes from socket\n", n); */
  21. Write(STDOUT_FILENO, buff, n);
  22. nbytes += n;
  23. }
  24. fprintf(stderr, "total: %d bytes read from socket\n", nbytes);
  25. Close(STDOUT_FILENO);
  26. exit(0);
  27. }