main.c 710 B

1234567891011121314151617181920212223242526272829303132
  1. #include "unp.h"
  2. #define SAP_NAME "sap.mcast.net" /* default group name and port */
  3. #define SAP_PORT "9875"
  4. void loop(int, socklen_t);
  5. int
  6. main(int argc, char **argv)
  7. {
  8. int sockfd;
  9. const int on = 1;
  10. socklen_t salen;
  11. struct sockaddr *sa;
  12. if (argc == 1)
  13. sockfd = Udp_client(SAP_NAME, SAP_PORT, (void **) &sa, &salen);
  14. else if (argc == 4)
  15. sockfd = Udp_client(argv[1], argv[2], (void **) &sa, &salen);
  16. else
  17. err_quit("usage: mysdr <mcast-addr> <port#> <interface-name>");
  18. Setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on));
  19. Bind(sockfd, sa, salen);
  20. Mcast_join(sockfd, sa, salen, (argc == 4) ? argv[3] : NULL, 0);
  21. loop(sockfd, salen); /* receive and print */
  22. exit(0);
  23. }