Java——网络编程_IP

一、IP地址

IP 地址是 IP 使用的 32 位或 128 位无符号数字,它是一种低级协议,UDP 和 TCP 协议都是在它的基础上构建的。IP 地址的体系结构是由 RFC 790:Assigned Numbers、 RFC 1918:Address Allocation for Private Internets、RFC 2365:Administratively Scoped IP Multicast 和 RFC 2373:IP Version 6 Addressing Architecture 定义的。InetAddress 的实例包含 IP 地址,还可能包含相应的主机名(取决于它是否用主机名构造或者是否已执行反向主机名解析)。

二、InetAddress类

此类表示互联网协议 (IP) 地址。
封装IP及DNS
主要掌握下面创建对象的方法,和几个常用方法,其他见API
package Inet;
/**
 * InetAddress 封装IP及DNS
 * 主要掌握下面创建对象的方法,和几个常用方法
 */
import java.net.InetAddress;
import java.net.UnknownHostException;

public class InetAddressDemo {
    public static void main(String[] args) throws UnknownHostException {
        //使用InetAddress.getLocalHost()方法创建InetAddress对象
        InetAddress addr = InetAddress.getLocalHost();
        System.out.println(addr.getHostName()); //输出计算机名
        System.out.println(addr.getHostAddress());
        //根据域名得到InetAddress对象
        addr = InetAddress.getByName("www.163.com");
        System.out.println(addr.getHostName()); 
        System.out.println(addr.getHostAddress());
        //根据域名的到InetAddress对象
        addr = InetAddress.getByName("61.135.253.15");
        System.out.println(addr.getHostName());     //输出61.135.253.15
        System.out.println(addr.getHostAddress());  //输出61.135.253.15
    }
}

输入:
yangzheng-PC
192.168.84.1
www.163.com
60.174.243.162

三、InetSocketAddress类

    此类实现 IP 套接字地址(IP 地址 + 端口号)。它还可以是一个对(主机名 + 端口号),在此情况下,将尝试解析主机名。如果解析失败,则该地址将被视为未解析 地址,但是其在某些情形下仍然可以使用,比如通过代理连接。 
它提供不可变对象,供套接字用于绑定、连接或用作返回值。 
package Inet;
/**
 * 封装端口:在InetAddress的基础上+端口
 * 主要掌握下面的两个构造函数,和两个方法
 */
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.UnknownHostException;

public class InetSocketAddressDemo {
    public static void main(String[] args) throws UnknownHostException {

        InetSocketAddress addr = new InetSocketAddress("172.0.0.1", 9999);
        addr = new InetSocketAddress(InetAddress.getByName("172.0.0.1"), 9999);
        System.out.println(addr.getHostName());
        System.out.println(addr.getPort());
    }
}

输出:
172-0-0-1.lightspeed.brhmal.sbcglobal.net
9999

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值