- java.lang.Object
-
- java.net.SocketAddress
-
- java.net.InetSocketAddress
-
- All Implemented Interfaces:
- Serializable
public class InetSocketAddress extends SocketAddress
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.- Since:
- 1.4
- See Also:
Socket
,ServerSocket
, Serialized Form
-
-
Constructor Summary
Constructors Constructor and Description InetSocketAddress(InetAddress addr, int port)
Creates a socket address from an IP address and a port number.InetSocketAddress(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.
-
Method Summary
Methods Modifier and Type Method and Description static InetSocketAddress
createUnresolved(String host, int port)
Creates an unresolved socket address from a hostname and a port number.boolean
equals(Object obj)
Compares this object against the specified object.InetAddress
getAddress()
Gets theInetAddress
.String
getHostName()
Gets thehostname
.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).int
getPort()
Gets the port number.int
hashCode()
Returns a hashcode for this socket address.boolean
isUnresolved()
Checks whether the address has been resolved or not.String
toString()
Constructs a string representation of this InetSocketAddress.
-
-
-
Constructor Detail
-
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
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 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
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 permissiom 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 is null.SecurityException
- if a security manager is present and permission to resolve the host name is denied.- See Also:
isUnresolved()
-
-
Method Detail
-
createUnresolved
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 abind
operation.- Parameters:
host
- the Host nameport
- 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.- Since:
- 1.5
- See Also:
isUnresolved()
-
getPort
public final int getPort()
Gets the port number.- Returns:
- the port number.
-
getAddress
public final InetAddress getAddress()
Gets theInetAddress
.- Returns:
- the InetAdress or
null
if it is unresolved.
-
getHostName
public final String 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
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.
- 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
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.
-
equals
public final boolean equals(Object obj)
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 & the port number are compared. Note: Hostnames are case insensitive. e.g. "FooBar" and "foobar" are considered equal.- Overrides:
equals
in classObject
- Parameters:
obj
- the object to compare against.- Returns:
true
if the objects are the same;false
otherwise.- See Also:
InetAddress.equals(java.lang.Object)
-
hashCode
public final int hashCode()
Returns a hashcode for this socket address.- Overrides:
hashCode
in classObject
- Returns:
- a hash code value for this socket address.
- See Also:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
-
Nederlandse vertaling
U hebt gevraagd om deze site in het Nederlands te bezoeken. Voor nu wordt alleen de interface vertaald, maar nog niet alle inhoud.Als je me wilt helpen met vertalingen, is je bijdrage welkom. Het enige dat u hoeft te doen, is u op de site registreren en mij een bericht sturen waarin u wordt gevraagd om u toe te voegen aan de groep vertalers, zodat u de gewenste pagina's kunt vertalen. Een link onderaan elke vertaalde pagina geeft aan dat u de vertaler bent en heeft een link naar uw profiel.
Bij voorbaat dank.
Document heeft de 11/06/2005 gemaakt, de laatste keer de 04/03/2020 gewijzigd
Bron van het afgedrukte document:https://www.gaudry.be/nl/java-api-rf-java/net/InetSocketAddress.html
De infobrol is een persoonlijke site waarvan de inhoud uitsluitend mijn verantwoordelijkheid is. De tekst is beschikbaar onder CreativeCommons-licentie (BY-NC-SA). Meer info op de gebruiksvoorwaarden en de auteur.
Referenties
Deze verwijzingen en links verwijzen naar documenten die geraadpleegd zijn tijdens het schrijven van deze pagina, of die aanvullende informatie kunnen geven, maar de auteurs van deze bronnen kunnen niet verantwoordelijk worden gehouden voor de inhoud van deze pagina.
De auteur Deze site is als enige verantwoordelijk voor de manier waarop de verschillende concepten, en de vrijheden die met de referentiewerken worden genomen, hier worden gepresenteerd. Vergeet niet dat u meerdere broninformatie moet doorgeven om het risico op fouten te verkleinen.