This class implements an IP Socket Address (IP address + port number) It can also be a pair (hostname + port number), in which case an attempt will be made to resolve the hostname. If resolution fails then the address is said to be unresolved but can still be used on some circumstances like connecting through a proxy.
It provides an immutable object used by sockets for binding, connecting, or as returned values.
The wildcard is a special local IP address. It usually means "any"
and can only be used for bind
operations.
See Also
Public Constructor Summary
InetSocketAddress(int port)
Creates a socket address where the IP address is the wildcard address
and the port number a specified value.
|
|
InetSocketAddress(InetAddress addr, int port)
Creates a socket address from an IP address and a port number.
|
|
InetSocketAddress(String hostname, int port)
Creates a socket address from a hostname and a port number.
|
Public Method Summary
static InetSocketAddress |
createUnresolved(String host, int port)
Creates an unresolved socket address from a hostname and a port number.
|
final boolean | |
final InetAddress |
getAddress()
Gets the
InetAddress . |
final String |
getHostName()
Gets the
hostname . |
final String |
getHostString()
Returns the hostname, or the String form of the address if it
doesn't have a hostname (it was created using a literal).
|
final int |
getPort()
Gets the port number.
|
final int |
hashCode()
Returns a hashcode for this socket address.
|
final boolean |
isUnresolved()
Checks whether the address has been resolved or not.
|
String |
toString()
Constructs a string representation of this InetSocketAddress.
|
Inherited Method Summary
Public Constructors
public InetSocketAddress (int port)
Creates a socket address where the IP address is the wildcard address and the port number a specified value.
A valid port value is between 0 and 65535.
A port number of zero
will let the system pick up an
ephemeral port in a bind
operation.
Parameters
port | The port number |
---|
Throws
IllegalArgumentException | if the port parameter is outside the specified range of valid port values. |
---|
public InetSocketAddress (InetAddress addr, int port)
Creates a socket address from an IP address and a port number.
A valid port value is between 0 and 65535.
A port number of zero
will let the system pick up an
ephemeral port in a bind
operation.
A null
address will assign the wildcard address.
Parameters
addr | The IP address |
---|---|
port | The port number |
Throws
IllegalArgumentException | if the port parameter is outside the specified range of valid port values. |
---|
public InetSocketAddress (String hostname, int port)
Creates a socket address from a hostname and a port number.
An attempt will be made to resolve the hostname into an InetAddress. If that attempt fails, the address will be flagged as unresolved.
If there is a security manager, its checkConnect
method
is called with the host name as its argument to check the permission
to resolve it. This could result in a SecurityException.
A valid port value is between 0 and 65535.
A port number of zero
will let the system pick up an
ephemeral port in a bind
operation.
Parameters
hostname | the Host name |
---|---|
port | The port number |
Throws
IllegalArgumentException | if the port parameter is outside the range of valid port values, or if the hostname parameter is null. |
---|---|
SecurityException | if a security manager is present and permission to resolve the host name is denied. |
See Also
Public Methods
public static InetSocketAddress createUnresolved (String host, int port)
Creates an unresolved socket address from a hostname and a port number.
No attempt will be made to resolve the hostname into an InetAddress. The address will be flagged as unresolved.
A valid port value is between 0 and 65535.
A port number of zero
will let the system pick up an
ephemeral port in a bind
operation.
Parameters
host | the Host name |
---|---|
port | The port number |
Returns
- a
InetSocketAddress
representing the unresolved socket address
Throws
IllegalArgumentException | if the port parameter is outside the range of valid port values, or if the hostname parameter is null. |
---|
See Also
public final boolean equals (Object obj)
Compares this object against the specified object.
The result is true
if and only if the argument is
not null
and it represents the same address as
this object.
Two instances of InetSocketAddress
represent the same
address if both the InetAddresses (or hostnames if it is unresolved) and port
numbers are equal.
If both addresses are unresolved, then the hostname and the port number
are compared.
Note: Hostnames are case insensitive. e.g. "FooBar" and "foobar" are
considered equal.
Parameters
obj | the object to compare against. |
---|
Returns
true
if the objects are the same;false
otherwise.
See Also
public final InetAddress getAddress ()
Gets the InetAddress
.
Returns
- the InetAdress or
null
if it is unresolved.
public final String getHostName ()
Gets the hostname
.
Note: This method may trigger a name service reverse lookup if the
address was created with a literal IP address.
Returns
- the hostname part of the address.
public final String getHostString ()
Returns the hostname, or the String form of the address if it doesn't have a hostname (it was created using a literal). This has the benefit of not attempting a reverse lookup.
Returns
- the hostname, or String representation of the address.
public final int getPort ()
Gets the port number.
Returns
- the port number.
public final int hashCode ()
Returns a hashcode for this socket address.
Returns
- a hash code value for this socket address.
public final boolean isUnresolved ()
Checks whether the address has been resolved or not.
Returns
true
if the hostname couldn't be resolved into anInetAddress
.
public String toString ()
Constructs a string representation of this InetSocketAddress. This String is constructed by calling toString() on the InetAddress and concatenating the port number (with a colon). If the address is unresolved then the part before the colon will only contain the hostname.
Returns
- a string representation of this object.