kopia lustrzana https://github.com/Hamlib/Hamlib
Make multicast bind the IPV4 address if available
https://github.com/Hamlib/Hamlib/issues/1461pull/1464/head
rodzic
37c0f07ecb
commit
8c8c20c256
|
@ -1288,9 +1288,23 @@ void *multicast_receiver(void *arg)
|
||||||
|
|
||||||
mreq.imr_multiaddr.s_addr = inet_addr(args->multicast_addr);
|
mreq.imr_multiaddr.s_addr = inet_addr(args->multicast_addr);
|
||||||
|
|
||||||
mreq.imr_interface.s_addr = htonl(INADDR_ANY);
|
#ifdef __MINGW32__
|
||||||
|
|
||||||
|
// we're not worrying about IPV6 right now as that will likely never occur on home network
|
||||||
|
if (strlen(ip4) > 0)
|
||||||
|
{
|
||||||
|
rig_debug(RIG_DEBUG_VERBOSE, "%s: multicast binding to %s\n", __func__, ip4);
|
||||||
|
mreq.imr_interface.s_addr = inet_addr(ip4);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
rig_debug(RIG_DEBUG_VERBOSE, "%s: multicast binding to INADDR_ANY\n", __func__);
|
||||||
|
mreq.imr_interface.s_addr = htonl(INADDR_ANY);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __MINGW32__
|
#ifdef __MINGW32__
|
||||||
|
|
||||||
if (setsockopt(socket_fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (PCHAR)&mreq,
|
if (setsockopt(socket_fd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (PCHAR)&mreq,
|
||||||
sizeof(mreq)) < 0)
|
sizeof(mreq)) < 0)
|
||||||
#else
|
#else
|
||||||
|
|
Ładowanie…
Reference in New Issue