Class InetSocketAddress
- All Implemented Interfaces:
Serializable
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.
- Since:
- 1.4
- See Also:
-
Constructor Summary
ConstructorDescriptionInetSocketAddress
(int port) Creates a socket address where the IP address is the wildcard address and the port number a specified value.InetSocketAddress
(String hostname, int port) Creates a socket address from a hostname and a port number.InetSocketAddress
(InetAddress addr, int port) Creates a socket address from an IP address and a port number. -
Method Summary
Modifier and TypeMethodDescriptionstatic InetSocketAddress
createUnresolved
(String host, int port) Creates an unresolved socket address from a hostname and a port number.final boolean
Compares this object against the specified object.final InetAddress
Gets theInetAddress
.final String
Gets thehostname
.final String
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
Checks whether the address has been resolved or not.toString()
Constructs a string representation of this InetSocketAddress.
-
Constructor Details
-
InetSocketAddress
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 abind
operation.- Parameters:
port
- The port number- Throws:
IllegalArgumentException
- if the port parameter is outside the specified range of valid port values.
-
InetSocketAddress
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 abind
operation.A
null
address will assign the wildcard address.- Parameters:
addr
- The IP addressport
- The port number- Throws:
IllegalArgumentException
- if the port parameter is outside the specified range of valid port values.
-
InetSocketAddress
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 abind
operation.- Parameters:
hostname
- the Host nameport
- The port number- Throws:
IllegalArgumentException
- if the port parameter is outside the range of valid port values, or if the hostname parameter isnull
.SecurityException
- if a security manager is present and permission to resolve the host name is denied.- See Also:
-
-
Method Details
-
createUnresolved
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 abind
operation.- Parameters:
host
- the Host nameport
- The port number- Returns:
- an
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 isnull
.- Since:
- 1.5
- See Also:
-
getPort
public final int getPort()Gets the port number.- Returns:
- the port number.
-
getAddress
Gets theInetAddress
.- Returns:
- the InetAddress or
null
if it is unresolved.
-
getHostName
Gets thehostname
. 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.
-
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.
- Since:
- 1.7
-
isUnresolved
public final boolean isUnresolved()Checks whether the address has been resolved or not.- Returns:
true
if the hostname couldn't be resolved into anInetAddress
.
-
toString
Constructs a string representation of this InetSocketAddress. This string is constructed by callingInetAddress.toString()
on the InetAddress and concatenating the port number (with a colon).If the address is an IPv6 address, the IPv6 literal is enclosed in square brackets, for example:
"localhost/[0:0:0:0:0:0:0:1]:80"
. If the address is unresolved,<unresolved>
is displayed in place of the address literal, for example"foo/<unresolved>:80"
.To retrieve a string representation of the hostname or the address, use
getHostString()
, rather than parsing the string returned by thistoString()
method. -
equals
Compares this object against the specified object. The result istrue
if and only if the argument is notnull
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. -
hashCode
-