Dear All,
I am trying to receive multicast traffic, I have used the following code.
------------------------------------------------------------------------------------------
int s;
struct sockaddr_in addr;
struct sockaddr_in from;
char buff[80];
s=lwip_socket(AF_INET,SOCK_DGRAM,0u);
if(s==-1)
{
 PRINTF("Socket not created.\r\n");
}
else
{
 PRINTF("Socket created.\r \n");
 addr.sin_family=AF_INET;
 addr.sin_port=htons(7);
 addr.sin_addr.s_addr=inet_addr("192.168.1.105");
 if(lwip_bind(s,(struct sockaddr*)&addr,sizeof(addr)) < 0)
 {

  PRINTF("Binding error. \r\n");
 }
 else
 {
  PRINTF("Binding recieve.\r \n");
     // use setsockopt() to request that the kernel join a multicast group
     struct ip_mreq mreq;
     memset(&mreq, 0, sizeof(mreq));
  mreq.imr_multiaddr.s_addr = inet_addr("239.255.255.250");
     mreq.imr_interface.s_addr = inet_addr("192.168.1.105");
     if (lwip_setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char*) &mreq, 
sizeof(mreq)) < 0)
  {
      PRINTF("Membership unsuccessfull \r\n");
     }
  else
  {
     PRINTF("Membership successfull \r\n");


  }
  socklen_t size  =sizeof(from);
  if(lwip_recvfrom(s,&buff,80,0,(struct sockaddr*)&from,&size) < 0)
  {
   PRINTF("Failed to recieve a message. \r\n");

  }
  else
  {
   PRINTF("Recieved a message. \r\n");

  }

 }
}
---------------------------------------------------------------------------------------------------------------------------------
There is no such error in my code. everything is working fine. But, when I send 
the multicast message. Nothing is received. What I am doing wrong?
Kinds Regards,
Saad.
_______________________________________________
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to