Guest User

Untitled

a guest
May 24th, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. #include <sys/types.h>
  2. #include <sys/socket.h>
  3. #include <unistd.h>
  4. #include <netinet/in.h>
  5. #include <netinet/ip.h>
  6. #include <stdio.h>
  7.  
  8. int main (int argc, char * argv[])
  9. {
  10. int sfd;
  11. char buf[512];
  12. struct sockaddr_in localAddress, serverAddress;
  13. struct ip_mreqn multicast;
  14.  
  15. socklen_t server_len = sizeof(serverAddress);
  16.  
  17. sfd = socket (PF_INET, SOCK_DGRAM, 0);
  18. localAddress.sin_port = htons(7890);
  19. localAddress.sin_family = AF_INET;
  20. localAddress.sin_addr.s_addr = INADDR_ANY;
  21.  
  22. inet_aton("228.5.6.7", &multicast.imr_multiaddr);
  23. multicast.imr_address.s_addr = INADDR_ANY;
  24. multicast.imr_ifindex = 0;
  25.  
  26. setsockopt(sfd, IPPROTO_IP, IP_ADD_MEMBERSHIP, &multicast, sizeof(multicast));
  27.  
  28. if (bind (sfd, (struct sockaddr*)&localAddress, sizeof(localAddress)) < 0)
  29. {
  30. printf("Erro no bind.");
  31. return 1;
  32. }
  33.  
  34. while (1)
  35. {
  36. recvfrom(sfd, buf, sizeof(buf), 0, (struct sockaddr*)&serverAddress, &server_len);
  37. printf("received: %s\n", buf);
  38. }
  39.  
  40.  
  41. return 0;
  42. }
Add Comment
Please, Sign In to add comment