tsigpipe.c 621 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #include "unp.h"
  2. void
  3. sig_pipe(int signo)
  4. {
  5. printf("SIGPIPE received\n");
  6. return;
  7. }
  8. int
  9. main(int argc, char **argv)
  10. {
  11. int sockfd;
  12. struct sockaddr_in servaddr;
  13. if (argc != 2)
  14. err_quit("usage: tcpcli <IPaddress>");
  15. sockfd = Socket(AF_INET, SOCK_STREAM, 0);
  16. bzero(&servaddr, sizeof(servaddr));
  17. servaddr.sin_family = AF_INET;
  18. servaddr.sin_port = htons(13); /* daytime server */
  19. Inet_pton(AF_INET, argv[1], &servaddr.sin_addr);
  20. Signal(SIGPIPE, sig_pipe);
  21. Connect(sockfd, (SA *) &servaddr, sizeof(servaddr));
  22. sleep(2);
  23. Write(sockfd, "hello", 5);
  24. sleep(2);
  25. Write(sockfd, "world", 5);
  26. exit(0);
  27. }