tcpcli03.c 610 B

1234567891011121314151617181920212223242526272829
  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. Close(sockfd);
  20. exit(0);
  21. }