[进阶]网络通信:概述、IP地址、InetAddress

什么是网络编程?

  • 可以让设备中的程序与网络上其他设备中的程序进行数据交互(实现网络通信的)。

Java提供的网络编程解决方案就是在java.net.*包下进行网络编程

基本的通信架构

  • 基本的通信架构有2种形式:CS架构(Client客户端/Server服务端)、BS架构(Browser刘览器/ Server服务端)。

[进阶]网络通信:概述、IP地址、InetAddress_第1张图片

 [进阶]网络通信:概述、IP地址、InetAddress_第2张图片

 

 [进阶]网络通信:概述、IP地址、InetAddress_第3张图片

无论是CS架构,还是BS架构的软件都必须依赖网络编程! 

网络通信的关键三要素

  1. IP:设备在网络中的地址,是唯一的标识。
  2. 端口:应用程序在设备中唯一的标识
  3. 协议:连接和数据在网络中传输的规则

IP地址

  • IP (Internet Protocol):全称”互联网协议地址”,是分配给上网设备的唯一标志。
  • IP地址有两种形式:IPv4、IPv6

[进阶]网络通信:概述、IP地址、InetAddress_第4张图片

 IPv6地址

  • IPv6:共128位,号称可以为地球每一粒沙子编号。
  • IPV6分成8段表示,每段每四位编码成一个十六进制位表示,数之间用冒号(:)分开。

[进阶]网络通信:概述、IP地址、InetAddress_第5张图片

IP域名

[进阶]网络通信:概述、IP地址、InetAddress_第6张图片 

 公网IP,内网IP:

  • 公网IP:是可以连接互联网的IP地址;内网IP:也叫局域网IP,只能组织机构内部使用。
  • 192.168. 开头的就是常见的局域网地址,范围即为192.168.0.0--192.168.255.255,专门为组织机构内部使用。

特殊IP地址:

  • 127.0.0.1、locathost:代表本机P,只会寻找当前所在的主机。

IP常用命令:

  • ipconfig:查看本机IP地址。
  • ping IP地址:检查网络是否连通。

InetAddress

  • 代表IP地址。

InetAddress的常用方法如下

[进阶]网络通信:概述、IP地址、InetAddress_第7张图片

代码演示如下:

 

/**
 * 目标:掌握InetAddress类的使用
 */
public class InetAddressTest {
    public static void main(String[] args) throws Exception{
        //1.获取本机IP地址对象的
        InetAddress ip1 = InetAddress.getLocalHost();
        System.out.println(ip1.getHostName());
        System.out.println(ip1.getHostAddress());

        //2.获取指定IP或者域名的IP地址对象。
        InetAddress ip2 = InetAddress.getByName("www.baidu.com");
        System.out.println(ip2.getHostName());
        System.out.println(ip2.getHostAddress());

        //ping www.baidu.com
        System.out.println(ip2.isReachable(6000));
    }
}

你可能感兴趣的:([进阶]Java:网络编程,tcp/ip,网络,网络协议,java)