udpcli09.c 588 B

12345678910111213141516171819202122232425262728
  1. #include "unp.h"
  2. int
  3. main(int argc, char **argv)
  4. {
  5. int sockfd;
  6. socklen_t len;
  7. struct sockaddr_in cliaddr, servaddr;
  8. if (argc != 2)
  9. err_quit("usage: udpcli <IPaddress>");
  10. sockfd = Socket(AF_INET, SOCK_DGRAM, 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. len = sizeof(cliaddr);
  17. Getsockname(sockfd, (SA *) &cliaddr, &len);
  18. printf("local address %s\n", Sock_ntop((SA *) &cliaddr, len));
  19. exit(0);
  20. }