diff options
author | Michael Koch <konqueror@gmx.de> | 2002-10-03 11:23:33 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2002-10-03 11:23:33 +0000 |
commit | e832ab3c91f01cdb1bd618ffe4a8e00505264d22 (patch) | |
tree | aff5f3ab2e4d52928ed330a39300502da4fdce8b /libjava/java/net/InetSocketAddress.java | |
parent | 3eacc81d00aa85d20a95069177f608edb4f8104c (diff) | |
download | gcc-e832ab3c91f01cdb1bd618ffe4a8e00505264d22.zip gcc-e832ab3c91f01cdb1bd618ffe4a8e00505264d22.tar.gz gcc-e832ab3c91f01cdb1bd618ffe4a8e00505264d22.tar.bz2 |
2002-09-30 Michael Koch <konqueror@gmx.de>
* java/net/DatagramSocket.java
(receive): Check with SecurityManager AFTER the packet is received,
check if connected to multicast address, documentation added.
(send): Only check SecurityManager if connected, check address of
packet to send.
(connect): Implemented, documentation added.
* java/net/Inet6Address.java: New file (not added yet to Makefile.am).
* java/net/InetSocketAddress.java
(whole file): Reindented.
(hostname): New attribute.
(InetSocketAddress): Initialize new attribute.
(getAddress): Documentation added.
(getHostName): Documentation added.
(getPort): Documentation added.
(hashCode): Documentation added.
(isUnresolved): Documentation added.
(toString): Conform to output of JDK 1.4.1, documentation added.
* java/net/MulticastSocket.java
(joinGroup): Removed FIXME, documentation added.
(leaveGroup): Removed FIXME, documentation added.
(send): Documentation added.
* java/net/Socket.java
(inputShutdown): New variable.
(outputShutdown): New variable.
(Socket): Initialize new variables.
(getRemoteSocketAddress): Check if connected.
(shutdownInput): Set new variable.
(shutdownOutput): Set new variable.
(isConnected): New method.
(isClosed): New method.
(isInputShutdown): New method.
(isOutputShutdown): New method.
* java/net/URLStreamHandler.java
(URLStreamHandler): New method.
(openConnection): Added documentation.
(parseURL): Added documentation.
(getHostAddress): New method.
(getDefaultPort): New method.
From-SVN: r57772
Diffstat (limited to 'libjava/java/net/InetSocketAddress.java')
-rw-r--r-- | libjava/java/net/InetSocketAddress.java | 255 |
1 files changed, 145 insertions, 110 deletions
diff --git a/libjava/java/net/InetSocketAddress.java b/libjava/java/net/InetSocketAddress.java index 20ebbfa..1f932a9 100644 --- a/libjava/java/net/InetSocketAddress.java +++ b/libjava/java/net/InetSocketAddress.java @@ -47,119 +47,154 @@ package java.net; public class InetSocketAddress extends SocketAddress { - InetAddress addr; - int port; + String hostname; + InetAddress addr; + int port; - /** - * Constructs an InetSocketAddress instance. - * - * @param addr Address of the socket - * @param port Port if the socket - * - * @exception IllegalArgumentException If the port number is illegel - */ - public InetSocketAddress(InetAddress addr, int port) - throws IllegalArgumentException - { - if (port < 0 || port > 65535) - throw new IllegalArgumentException(); + /** + * Constructs an InetSocketAddress instance. + * + * @param addr Address of the socket + * @param port Port if the socket + * + * @exception IllegalArgumentException If the port number is illegal + */ + public InetSocketAddress(InetAddress addr, int port) + throws IllegalArgumentException + { + if (port < 0 || port > 65535) + throw new IllegalArgumentException(); - this.addr = addr; - this.port = port; - } - - /** - * Constructs an InetSocketAddress instance. - * - * @param port Port if the socket - * - * @exception IllegalArgumentException If the port number is illegal - */ - public InetSocketAddress(int port) - throws IllegalArgumentException - { - if (port < 0 || port > 65535) - throw new IllegalArgumentException(); - - this.port = port; - try { - this.addr = InetAddress.getLocalHost(); - } catch (Exception e) { - } - } - - - /** - * Constructs an InetSocketAddress instance. - * - * @param addr Address of the socket - * @param port Port if the socket - * - * @exception IllegalArgumentException If the port number is illegal - */ - public InetSocketAddress(String hostname, int port) - throws IllegalArgumentException - { - if (port < 0 || port > 65535) - throw new IllegalArgumentException(); - - this.port = port; - try { - this.addr = InetAddress.getByName(hostname); - } catch (Exception e) { - } - } + this.addr = addr; + this.port = port; + + try + { + this.hostname = addr.getHostName (); + } + catch (UnknownHostException e) + { + this.hostname = ""; + } + } + + /** + * Constructs an InetSocketAddress instance. + * + * @param port Port if the socket + * + * @exception IllegalArgumentException If the port number is illegal + */ + public InetSocketAddress(int port) + throws IllegalArgumentException + { + if (port < 0 || port > 65535) + throw new IllegalArgumentException(); + + this.port = port; + + try + { + byte[] any = { 0, 0, 0, 0 }; + this.addr = InetAddress.getByAddress (any); + this.hostname = "0.0.0.0"; + } + catch (UnknownHostException e) + { + this.addr = null; + this.hostname = ""; + } + } + + + /** + * Constructs an InetSocketAddress instance. + * + * @param addr Address of the socket + * @param port Port if the socket + * + * @exception IllegalArgumentException If the port number is illegal + */ + public InetSocketAddress(String hostname, int port) + throws IllegalArgumentException + { + if (port < 0 || port > 65535) + throw new IllegalArgumentException(); + + this.port = port; + this.hostname = hostname; + + try + { + this.addr = InetAddress.getByName(hostname); + } + catch (Exception e) // UnknownHostException, SecurityException + { + this.addr = null; + } + } - /** - * Test if obj is a InetSocketAddress and - * has the same address & port - */ - public final boolean equals(Object obj) - { - if (obj instanceof InetSocketAddress) - { - InetSocketAddress a = (InetSocketAddress) obj; - return addr.equals(a.addr) && a.port == port; - } - return false; - } - - public final InetAddress getAddress() - { - return addr; - } - - public final String getHostName() - { - return addr.getHostName(); - } - - public final int getPort() - { - return port; - } + /** + * Test if obj is a <code>InetSocketAddress</code> and + * has the same address and port + */ + public final boolean equals (Object obj) + { + if (obj instanceof InetSocketAddress) + { + InetSocketAddress a = (InetSocketAddress) obj; + return addr.equals(a.addr) && a.port == port; + } + + return false; + } + + /** + * Returns the <code>InetAddress</code> or + * <code>null</code> if its unresolved + */ + public final InetAddress getAddress() + { + return addr; + } + + /** + * Returns <code>hostname</code> + */ + public final String getHostName() + { + return hostname; + } + + /** + * Returns the <code>port</code> + */ + public final int getPort() + { + return port; + } - /** - * TODO: see what sun does here. - */ - public final int hashCode() - { - return port + addr.hashCode(); - } - - /** - * TODO: see what sun does here. - */ - public final boolean isUnresolved() - { - return addr == null; - } + /** + * Returns the hashcode of the <code>InetSocketAddress</code> + */ + public final int hashCode() + { + return port + addr.hashCode(); + } + + /** + * Checks wether the address has been resolved or not + */ + public final boolean isUnresolved() + { + return addr == null; + } - /** - * TODO: see what sun does here. - */ - public String toString() - { - return "SA:"+addr+":"+port; - } + /** + * Returns the <code>InetSocketAddress</code> as string + */ + public String toString() + { + return addr + ":" + port; + } } |