summaryrefslogtreecommitdiff
path: root/java/src/IceInternal/UdpTransceiver.java
diff options
context:
space:
mode:
authorMatthew Newhook <matthew@zeroc.com>2008-05-22 14:40:29 +0800
committerBenoit Foucher <benoit@zeroc.com>2008-06-06 12:25:26 +0200
commitad95870abf9ce4209842e12b77f1f504990fd1bc (patch)
tree3bc20802259e4bbf3f60e95754ba8e85f0e33c8a /java/src/IceInternal/UdpTransceiver.java
parentBug 3189 - fix test scripts to use proper start functions (diff)
downloadice-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.java13
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