一 ip地址和端口号
IP地址:确定网络上一个绝对地址(类似于一个房子的地址)
端口号:区分计算机软件(类似于房子的房门) 2个字节 0--65535
在同一协议下,端口号不能重复,不同协议下可以重复,1024一下的端口号一般分配给了系统用。
主机名到 IP 地址的解析通过使用本地机器配置信息和DNS来实现。要使用的特定命名服务默认情况下是本地机器配置的那个。对于任何主机名称,都返回其相应的 IP 地址。
InetAddress 类具有一个缓存,用于存储成功及不成功的主机名解析。
测试代码:
1.通过类InetAddress 获得(无构造器)
static InetAddress getLocalHost()返回本地主机
static InetAddress getByName(String host)在给定主机名的情况下确定主机的 IP 地址。主机名可以是机器名(如"java.sun.com"),也可以是其 IP 地址的文本表示形式。
package com.sunlei.net.ip;
import java.net.InetAddress;
import java.net.UnknownHostException;
public class InetDemo02 {
public static void main(String[] args) throws UnknownHostException {
//使用getLocalHost方法创建InetAddress对象
InetAddress addr = InetAddress.getLocalHost();
System.out.println(addr.getHostName());//返回计算机名
System.out.println(addr.getHostAddress());//返回ip
//根据域名得到InetAddress对象
addr = InetAddress.getByName("www.163.com");
System.out.println(addr.getHostAddress());//返回ip
System.out.println(addr.getHostName());
//根据IP得到InetAddress对象
addr = InetAddress.getByName("222.211.64.51");
System.out.println(addr.getHostAddress());
System.out.println(addr.getHostName());//返回域名