SocketAddres的设计目的不太清楚。据我所见,只有通过InetSocketAddress才有一个合理使用方式。这很令人困惑。
SocketAddres的设计目的不太清楚。据我所见,只有通过InetSocketAddress才有一个合理使用方式。这很令人困惑。
InetAddress将提供指定网站的IP地址 例如:
InetAddress ip=InetAddress.getByName("www.google.com");
System.out.println("Host Name: "+ip.getHostName());
System.out.println("IP Address: "+ip.getHostAddress());
SocketAdress用于使用InetAddress和端口号创建端点上的Socket
InetAddress addr = InetAddress.getByName("www.google.com");
int port = 80;
SocketAddress sockaddr = new InetSocketAddress(addr, port);
Socket sock = new Socket();
sock.connect(sockaddr);
这个类表示没有协议附加的套接字地址。作为一个抽象类,它旨在通过特定的、协议相关的实现进行子类化。
这个类表示互联网协议(IP)地址。
因此,一个表示抽象类中没有任何协议的套接字,另一个表示 IP 地址。你可能正在寻找的是{{link3:InetSocketAddress
}}(一个绑定到特定 IP/主机名和端口的套接字)。
SocketAdress
这个类表示没有协议附加的套接字地址。作为一个抽象类,它旨在通过具体的、协议相关的实现进行子类化。
InetAdress
这个类表示互联网协议(IP)地址。
也许你想了解一下InetSocketAddress
这个类实现了一个IP套接字地址(IP地址+端口号)。它也可以是一对(主机名+端口号),在这种情况下,将尝试解析主机名。如果解析失败,则该地址被认为是未解析的,但仍然可以在某些情况下使用,例如通过代理连接。