diff options
Diffstat (limited to 'cpp/src/Ice/UdpTransceiver.cpp')
-rw-r--r-- | cpp/src/Ice/UdpTransceiver.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/cpp/src/Ice/UdpTransceiver.cpp b/cpp/src/Ice/UdpTransceiver.cpp index a14cf302810..03aa23796a7 100644 --- a/cpp/src/Ice/UdpTransceiver.cpp +++ b/cpp/src/Ice/UdpTransceiver.cpp @@ -390,10 +390,10 @@ IceInternal::UdpTransceiver::UdpTransceiver(const InstancePtr& instance, const s _logger(instance->initializationData().logger), _stats(instance->initializationData().stats), _incoming(false), + _addr(addr), _connect(true), _warn(instance->initializationData().properties->getPropertyAsInt("Ice.Warn.Datagrams") > 0), - _shutdownReadWrite(false), - _addr(addr) + _shutdownReadWrite(false) { try { @@ -402,7 +402,7 @@ IceInternal::UdpTransceiver::UdpTransceiver(const InstancePtr& instance, const s setBlock(_fd, false); doConnect(_fd, _addr, -1); _connect = false; // We're connected now - if(isMulticast(_addr)) + if(IN_MULTICAST(ntohl(_addr.sin_addr.s_addr))) { if(mcastInterface.length() > 0) { @@ -455,7 +455,7 @@ IceInternal::UdpTransceiver::UdpTransceiver(const InstancePtr& instance, const s Trace out(_logger, _traceLevels->networkCat); out << "attempting to bind to udp socket " << addrToString(_addr); } - if(isMulticast(_addr)) + if(IN_MULTICAST(ntohl(_addr.sin_addr.s_addr))) { struct sockaddr_in addr; getAddress("0.0.0.0", port, addr); |