Java.net.InetSocketAddress class in Java
Last Updated :
05 Oct, 2021
This class implements IP socket address( combination of IP address and port number). The objects of this class are immutable and can be used for binding, connecting purposes.
Constructors :
1. InetSocketAddress(InetAddress addr, int port) : This constructor is similar to the general structure of a socket address with the attributes for Inet address and port number.
Syntax :public InetSocketAddress(InetAddress addr,
int port)
Parameters :
addr : IP address
port : port number
2. InetSocketAddress(int port) : Creates a socketaddress object with the specified port number and a wildcard IP address. A wildcard IP address has the value 0.0.0.0 and it binds your socket to all network cards.
Syntax : public InetSocketAddress(int port)
Parameters :
port : port number
3. InetSocketAddress(String hostname, int port) : Creates a socketaddress object and binds it to specified port and host. Resolution of hostname is performed to find the IP address and that is used for binding purpose, not the host name. If the resolution returns null, the address will be flagged as unresolved.
Syntax : public InetSocketAddress(String hostname,
int port)
Parameters :
hostname : host name
port : port number
Methods :
1. createUnresolved() : Creates a socket address with the given host and port number where no attempt is made to resolve the host name and the address is marked as unresolved.
Syntax :public static InetSocketAddress createUnresolved(String host,
int port)
Parameters :
host : host name
port : port number
2. getPort() : Returns the port number for this socket address.
Syntax : public final int getPort()
3. getAddress() : Returns the IP address of this socket address.
Syntax : public final InetAddress getAddress()
4. getHostName() : Returns the host name, using reverse lookup if it was created using an IP address.
Syntax : public final String getHostName()
5. getHostString() : Returns the host name if created with hostname or string representation of the address literal used for creation.
Syntax : public final String getHostString()
6. isUnresolved() : Returns a boolean value indicating whether this address is resolved or not.
Syntax : public final boolean isUnresolved()
7. toString() : Returns the string representation of this InetSocket address object. First the toString() method is called on the InetAddress part and then port number is appended after a colon.
Syntax : public String toString()
8. equals() : compares if this socketaddress object is equal to specified object. The two are equal if they represent the same inetaddress and port number, or hostname and port number in case of unresolved address.
Syntax : public final boolean equals(Object obj)
Parameters :
obj : object to compare with
9. hashcode() : Returns the hashcode for this InetSocketAddress object.
Syntax : public final int hashCode()
Java Implementation :
Java
// Java program to illustrate various
// InetSocketAddress class
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.UnknownHostException;
public class InetsockAddress
{
public static void main(String[] args) throws UnknownHostException
{
// Following constructor can be used to create InetSocketAddress
// objects.
InetSocketAddress isa1 = new InetSocketAddress(5500);
InetSocketAddress isa2 = new InetSocketAddress("localhost", 5050);
InetAddress ip = InetAddress.getByName("localhost");
InetSocketAddress isa3 = new InetSocketAddress(ip, 8800);
// createUnresolved() does not attempt to resolve the hostname.
InetSocketAddress isa4 = InetSocketAddress.createUnresolved("abc", 5055);
// These InetSocketAddress objects can be used to create sockets
// in socket programming, in place of specifying individually the IP
// address and port number. Please refer to TCP articles for their
// further use.
// These can also be used to retrieve information about the
// socketAddress objects.
// getHostName() method
System.out.println("Hostname : " + isa1.getHostName());
// getHostString() method
System.out.println("Host string : " + isa1.getHostString());
// getAddress() method
System.out.println("Inet address : " + isa1.getAddress());
// getPort() method
System.out.println("Port : " + isa1.getPort());
// isUnresolved() method
System.out.println("isUnresolved : " + isa1.isUnresolved());
// equals() method
System.out.println("isa1==isa2 : " + isa1.equals(isa2));
// toString() method
System.out.println("toString : " + isa1.toString());
// hashCode() method
System.out.println("hashCode : " + isa1.hashCode());
}
}
Output :
Hostname : 0.0.0.0
Host string : 0.0.0.0
Inet address : 0.0.0.0/0.0.0.0
Port : 5500
isUnresolved : false
isa1==isa2 : false
toString : 0.0.0.0/0.0.0.0:5500
hashCode : 5500
References :
Official Java Documentation
Similar Reads
Java.net.Inet4Address class in Java
This class extends the InetAddress class and represents an IPv4 address. It provides methods to interpret and display useful information about IP addresses. Methods of this class take input in 4 formats: d.d.d.d: When this format is used as input, each of the given values are assigned to 4 bytes of
3 min read
Java.net.Inet6Address class in Java
This class represents IPv6 address and extends the InetAddress class. Methods of this class provide facility to represent and interpret IPv6 addresses. Methods of this class takes input in the following formats: x:x:x:x:x:x:x:x -This is the general form of IPv6 address where each x can be replaced w
5 min read
Java.net.URI class in Java
This class provides methods for creating URI instances from its components or by parsing the string form of those components, for accessing and retrieving different components of a URI instance. What is URI? URI stands for Uniform Resource Identifier. A Uniform Resource Identifier is a sequence of c
11 min read
Java.net.Authenticator class in Java
Authenticator class is used in those cases where an authentication is required to visit some URL. Once it is known that authentication is required, it prompts the user for the same or uses some hard-coded username and password. To use this class, following steps are followed- Create a class that ext
3 min read
Java.net.NetworkInterface class in Java
This class represents network interface, both software as well as hardware, its name, list of IP addresses assigned to it, and all related information. It can be used in cases when we want to specifically use a particular interface for transmitting our packet on a system with multiple NICs. What is
6 min read
Unit Testing System.in for Input Handling in JUnit
In Java applications, itâs common to read input from System.in for interactive console applications. Unit testing such methods can be challenging because they rely on user input. We can achieve this by redirecting System.in to a ByteArrayInputStream that contains the input we want to simulate. In th
6 min read
java.net.InetAddress Class in Java
public class InetAddress extends Object implements Serializable: The java.net.InetAddress class provides methods to get the IP address of any hostname. An IP address is represented by 32-bit or 128-bit unsigned number. InetAddress can handle both IPv4 and IPv6 addresses. There are 2 types of address
6 min read
Convert a String to an InetAddress in Java
InetAddress is one of the Java classes which is available in java.net package. The InetAddress class contains a lot of built-in methods for handling networking-related functions in Java. In our case we need to convert a String to an InetAddress means IP Address. Normally an IP Address format looks l
4 min read
Determining the IP Address & Hostname of Local Computer in Java
IP Address Stands for Internet Protocol Address, is a numeric label that is assigned uniquely to each device connected within a computer network that uses the internet protocol. An IP address serves two principal functions: It identifies the host, or more specifically its network interface.It provi
3 min read
Getting Your Own Device IP Address using Java
An Internet Protocol address (IP address) is a numerical label assigned to each device (e.g., computer, printer) participating in a computer network that uses the Internet Protocol for communication. An IP address serves two principal functions: host or network interface identification and location
2 min read