diff options
author | Marc Laukien <marc@zeroc.com> | 2003-11-06 05:10:05 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2003-11-06 05:10:05 +0000 |
commit | 7816254e21f180386d95f2408d424d7ca59f0767 (patch) | |
tree | 84f6b6f16e434c74054d9cfaf89c8513d607dc27 /java/src/IceInternal/TcpEndpoint.java | |
parent | Changed FD_SETSIZE to 1024 under Windows. (diff) | |
download | ice-7816254e21f180386d95f2408d424d7ca59f0767.tar.bz2 ice-7816254e21f180386d95f2408d424d7ca59f0767.tar.xz ice-7816254e21f180386d95f2408d424d7ca59f0767.zip |
DNSException fix
Diffstat (limited to 'java/src/IceInternal/TcpEndpoint.java')
-rw-r--r-- | java/src/IceInternal/TcpEndpoint.java | 61 |
1 files changed, 43 insertions, 18 deletions
diff --git a/java/src/IceInternal/TcpEndpoint.java b/java/src/IceInternal/TcpEndpoint.java index 4718887ff76..64fc04a2fae 100644 --- a/java/src/IceInternal/TcpEndpoint.java +++ b/java/src/IceInternal/TcpEndpoint.java @@ -432,24 +432,49 @@ final class TcpEndpoint implements Endpoint // // We do the most time-consuming part of the comparison last. // - java.net.InetSocketAddress laddr; - java.net.InetSocketAddress raddr; - laddr = Network.getAddress(_host, _port); - raddr = Network.getAddress(p._host, p._port); - byte[] larr = laddr.getAddress().getAddress(); - byte[] rarr = raddr.getAddress().getAddress(); - assert(larr.length == rarr.length); - for(int i = 0; i < larr.length; i++) - { - if(larr[i] < rarr[i]) - { - return -1; - } - else if(rarr[i] < larr[i]) - { - return 1; - } - } + java.net.InetSocketAddress laddr = null; + try + { + laddr = Network.getAddress(_host, _port); + } + catch(Ice.DNSException ex) + { + } + + java.net.InetSocketAddress raddr = null; + try + { + raddr = Network.getAddress(p._host, p._port); + } + catch(Ice.DNSException ex) + { + } + + if(laddr == null && raddr != null) + { + return -1; + } + else if(raddr == null && laddr != null) + { + return 1; + } + else if(laddr != null && raddr != null) + { + byte[] larr = laddr.getAddress().getAddress(); + byte[] rarr = raddr.getAddress().getAddress(); + assert(larr.length == rarr.length); + for(int i = 0; i < larr.length; i++) + { + if(larr[i] < rarr[i]) + { + return -1; + } + else if(rarr[i] < larr[i]) + { + return 1; + } + } + } } return 0; |