tcpcli04.c 637 B

123456789101112131415161718192021222324252627282930
  1. #include "unp.h"
  2. int
  3. main(int argc, char **argv)
  4. {
  5. int sockfd;
  6. struct linger ling;
  7. struct sockaddr_in servaddr;
  8. if (argc != 2)
  9. err_quit("usage: tcpcli <IPaddress>");
  10. sockfd = Socket(AF_INET, SOCK_STREAM, 0);
  11. bzero(&servaddr, sizeof(servaddr));
  12. servaddr.sin_family = AF_INET;
  13. servaddr.sin_port = htons(SERV_PORT);
  14. Inet_pton(AF_INET, argv[1], &servaddr.sin_addr);
  15. Connect(sockfd, (SA *) &servaddr, sizeof(servaddr));
  16. ling.l_onoff = 1; /* cause RST to be sent on close() */
  17. ling.l_linger = 0;
  18. Setsockopt(sockfd, SOL_SOCKET, SO_LINGER, &ling, sizeof(ling));
  19. str_cli(stdin, sockfd); /* do it all */
  20. exit(0);
  21. }