Windows multicast socket fix

This commit is contained in:
Thulinma 2019-10-02 11:54:40 +02:00
parent 0e7c7ce3dd
commit 9a3bddef19

View file

@ -1766,6 +1766,11 @@ uint16_t Socket::UDPConnection::bind(int port, std::string iface, const std::str
sockaddr_in *addr4 = (sockaddr_in *)(rp->ai_addr); sockaddr_in *addr4 = (sockaddr_in *)(rp->ai_addr);
// multicast has a "1110" bit prefix // multicast has a "1110" bit prefix
multicast = (((char *)&(addr4->sin_addr))[0] & 0xF0) == 0xE0; multicast = (((char *)&(addr4->sin_addr))[0] & 0xF0) == 0xE0;
#ifdef __CYGWIN__
if (multicast){
((sockaddr_in*)rp->ai_addr)->sin_addr.s_addr = htonl(INADDR_ANY);
}
#endif
} }
if (multicast){ if (multicast){
const int optval = 1; const int optval = 1;