diff options
author | Matthew Newhook <matthew@zeroc.com> | 2008-05-22 14:40:29 +0800 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2008-06-06 12:25:26 +0200 |
commit | ad95870abf9ce4209842e12b77f1f504990fd1bc (patch) | |
tree | 3bc20802259e4bbf3f60e95754ba8e85f0e33c8a /java/src/IceInternal/UdpTransceiver.java | |
parent | Bug 3189 - fix test scripts to use proper start functions (diff) | |
download | ice-ad95870abf9ce4209842e12b77f1f504990fd1bc.tar.bz2 ice-ad95870abf9ce4209842e12b77f1f504990fd1bc.tar.xz ice-ad95870abf9ce4209842e12b77f1f504990fd1bc.zip |
http://bugzilla/bugzilla/show_bug.cgi?id=3222 - import mcast tracing. The effective port may be incorrect under windows.
Diffstat (limited to 'java/src/IceInternal/UdpTransceiver.java')
-rw-r--r-- | java/src/IceInternal/UdpTransceiver.java | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/java/src/IceInternal/UdpTransceiver.java b/java/src/IceInternal/UdpTransceiver.java index 0bcb04fb05f..84aef93ffb8 100644 --- a/java/src/IceInternal/UdpTransceiver.java +++ b/java/src/IceInternal/UdpTransceiver.java @@ -226,10 +226,9 @@ final class UdpTransceiver implements Transceiver public String toString() { - if(mcastServer && _fd != null) + if(_mcastAddr != null && _fd != null) { - return Network.addressesToString(_addr.getAddress(), _addr.getPort(), - _fd.socket().getInetAddress(), _fd.socket().getPort()); + return Network.fdToString(_fd) + "\nmulticast address = " + Network.addrToString(_mcastAddr); } else { @@ -321,9 +320,9 @@ final class UdpTransceiver implements Transceiver if(_addr.getAddress().isMulticastAddress()) { Network.setReuseAddress(_fd, true); - Network.doBind(_fd, Network.getAddress("0.0.0.0", port, Network.EnableIPv4)); - configureMulticast(_addr, mcastInterface, -1); - mcastServer = true; + _mcastAddr = _addr; + _addr = Network.doBind(_fd, Network.getAddress("0.0.0.0", port, Network.EnableIPv4)); + configureMulticast(_mcastAddr, mcastInterface, -1); } else { @@ -537,7 +536,7 @@ final class UdpTransceiver implements Transceiver private int _sndSize; private java.nio.channels.DatagramChannel _fd; private java.net.InetSocketAddress _addr; - private boolean mcastServer = false; + private java.net.InetSocketAddress _mcastAddr = null; // // The maximum IP datagram size is 65535. Subtract 20 bytes for the IP header and 8 bytes for the UDP header |