static int mkmcastsk4(struct in_addr group, int port)
{
int fd;
+ int soval;
struct sockaddr_in nm;
struct ip_mreqn mreq;
fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
+ soval = 1;
+ if(setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &soval, sizeof(soval)))
+ return(-1);
memset(&nm, 0, sizeof(nm));
nm.sin_family = AF_INET;
nm.sin_port = htons(port);
return(-1);
memset(&mreq, 0, sizeof(mreq));
mreq.imr_multiaddr = group;
- if(setsockopt(fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq, sizeof(mreq)))
+ if(setsockopt(fd, SOL_IP, IP_ADD_MEMBERSHIP, &mreq, sizeof(mreq)))
return(-1);
return(fd);
}