Hi,
I've been trying to write up a program that sends and receives 'tweets' using multicast. I've got the sending part working but for some reason I can't seem to get the receiving part working.
For receiving this is what I've got:
insertThis code seems to have recvfrom return -1 (the errror) but I can't seem to see where I'm going wrong. Can anyone help me??Code:void receiveTweets(void) { int status; // open a socket SOCKET s = socket(AF_INET, SOCK_DGRAM, 0); struct sockaddr_in receive; receive.sin_family = AF_INET; receive.sin_addr.s_addr = inet_addr("224.28.99.66"); receive.sin_addr.s_addr = INADDR_ANY; receive.sin_port = htons(33118); status = bind(s, (struct sockaddr *)&receive, sizeof(struct sockaddr_in)); if(status != 0) { printf("Bind unsuccessful"); } else { struct ip_mreq mreq; //PROVIDE MULTICAST GROUP INFO mreq.imr_multiaddr.s_addr = inet_addr("224.28.99.66"); mreq.imr_interface.s_addr = INADDR_ANY; setsockopt (s, IPPROTO_IP, IP_ADD_MEMBERSHIP, (const char*)&mreq, sizeof(mreq)); receive.sin_family = AF_INET; receive.sin_addr.s_addr = inet_addr("224.28.99.66"); char buff[MTU]; int bytes = -1; while (1) { status = recvfrom(s, buff, strlen(buff), 0, (struct sockaddr*)&receive, (int *)sizeof(struct sockaddr_in)); if(status > 0) { printf("Received: \"%s\"", buff); } } } closesocket(s); return; }
Thanks



1Likes
LinkBack URL
About LinkBacks


