Java Java类
该类实现IP套接字地址(IP地址和端口号的组合)。此类的对象是不可变的,可用于绑定、连接目的。
构造函数:
1. InetSocketAddress(InetAddress addr, int port):这个构造函数类似于socket地址的一般结构,具有Inet地址和端口号的属性。
Syntax :public InetSocketAddress(InetAddress addr,
int port)
Parameters :
addr : IP address
port : port number
2. InetSocketAddress(int port):用指定的端口号和通配符IP地址创建一个socketaddress对象。通配符 IP 地址的值为 0.0.0.0,它将您的套接字绑定到所有网卡。
Syntax : public InetSocketAddress(int port)
Parameters :
port : port number
3. InetSocketAddress(String hostname, int port) :创建一个socketaddress对象并将其绑定到指定的端口和主机。执行主机名解析以查找用于绑定目的的 IP 地址,而不是主机名。如果解析返回 null,则地址将被标记为未解析。
Syntax : public InetSocketAddress(String hostname,
int port)
Parameters :
hostname : host name
port : port number
方法 :
1. createUnresolved() :使用给定的主机和端口号创建一个套接字地址,其中不尝试解析主机名并且该地址被标记为未解析。
Syntax :public static InetSocketAddress createUnresolved(String host,
int port)
Parameters :
host : host name
port : port number
2. getPort() :返回此套接字地址的端口号。
Syntax : public final int getPort()
3. getAddress() :返回这个socket地址的IP地址。
Syntax : public final InetAddress getAddress()
4. getHostName() :返回主机名,如果它是使用 IP 地址创建的,则使用反向查找。
Syntax : public final String getHostName()
5. getHostString() :如果使用用于创建的地址字面量的主机名或字符串表示形式创建,则返回主机名。
Syntax : public final String getHostString()
6. isUnresolved() :返回一个布尔值,指示此地址是否已解析。
Syntax : public final boolean isUnresolved()
7. toString() :返回此 InetSocket 地址对象的字符串表示形式。首先在 InetAddress 部分调用 toString() 方法,然后在冒号后附加端口号。
Syntax : public String toString()
8. equals() :比较这个socketaddress对象是否等于指定的对象。如果它们代表相同的 inetaddress 和端口号,或者在未解析地址的情况下代表相同的主机名和端口号,则两者相等。
Syntax : public final boolean equals(Object obj)
Parameters :
obj : object to compare with
9. hashcode() :返回此 InetSocketAddress 对象的哈希码。
Syntax : public final int hashCode()
Java实现:
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());
}
}
输出 :
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