diff --git a/lib/socket.cpp b/lib/socket.cpp index 1b1c6ace..733c969f 100644 --- a/lib/socket.cpp +++ b/lib/socket.cpp @@ -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); // multicast has a "1110" bit prefix 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){ const int optval = 1;