📜  Java Java类

📅  最后修改于: 2022-05-13 01:55:43.578000             🧑  作者: Mango

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