2019-9-29【Javase】网络、协议、IP地址、InetAddress、域名、端口、URL、数据传输、反射、设计模式

本文涵盖了Java SE中的网络基础知识,包括网络概念、协议、IP地址、InetAddress、域名、端口和URL的讲解。深入探讨了数据传输,通过TCP和UDP协议实现简单通信的V1.0和V2.0示例。此外,还介绍了Java反射机制以及两种设计模式——装饰者模式和观察者模式的应用。
摘要由CSDN通过智能技术生成

一、网络

一组 由 网线连接起来的计算机。
在这里插入图片描述

二、协议

在这里插入图片描述

三、IP地址

在这里插入图片描述

四、InetAddress

在这里插入图片描述
查看IP: Dos: ipconfig
InetAddress: IP 的封装

public static void main(String[] args) throws UnknownHostException {
   
    // 获得本机的IP : InetAdress
    InetAddress net = InetAddress.getLocalHost();
    // DESKTOP-JBSD6AK/192.168.31.207
    System.out.println(net);
    // 根据 主机名 获得 IP  DESKTOP-JBSD6AK/192.168.31.207
    net = InetAddress.getByName("DESKTOP-JBSD6AK");
    System.out.println(net);
    //
    System.out.println(net.getHostName());//DESKTOP-JBSD6AK 
    System.out.println(net.getHostAddress());// 192.168.31.207
    
}

五、域名

在这里插入图片描述

DNS:域名解析器

六、端口

在这里插入图片描述
0 - 65535

前 1024 不建议使用

在这里插入图片描述

七、URL

URL :统一资源定位符。
在这里插入图片描述
协议:告诉浏览器 以什么样的形式 处理打开的文件;
主机名:资源所在的机器。
端口: 资源所在的程序;
路径: 资源所在的位置。
查询字符串: 访问的资源的查询 字符串信息
片段: 资源所在的段落。

public static void main(String[] args) throws MalformedURLException {
   
    // URL 
    URL url = new URL("http://127.0.0.1:9999/data/a.docx?page=1&id=1#hello");
    System.out.println(url.getProtocol());// 协议http
    System.out.println(url.getHost());// 获得主机 127.0.0.1
    System.out.println(url.getPort());// 端口 9999
    System.out.println(url.getDefaultPort());// 获得默认的端口80
    System.out.println(url.getQuery());// 查询字符串  page=1&id=1
    System.out.println(url.getRef());// 段落 hello
    
}

八、数据传输

基于 TCP协议: 数据的准确性。
UDP : 不能保证数据的准确。

C/S : 客户端 / 服务器
B / S : 浏览器 : 服务器

在这里插入图片描述

简单通信V1.0:

服务器:

/*服务器/

public class Server {
   public static void main(String[] args) throws IOException {
   
        // 1. 创建一个服务器                           (服务器的端口)
        ServerSocket server = new ServerSocket(9999);
        // 2. 确认 客户端 和 服务器的连接,返回一个Socket类型的对象
        Socket socket = server.accept();
        // 3. 获得底层的Socket
        InputStream is = socket.getInputStream();// 读
        OutputStream os = socket.getOutputStream();// 写
        // 4. 包装 流
        Scanner in = new Scanner(is);
        PrintWriter out = new PrintWriter(os, true);// 注意
        //------------------------------------------------------------
        // 5. 向客户端发送一条信息
        out.println("客户端连接服务器成功");
        // 6. 读客户发过来的信息
        String sr ,sw;
        sr = in.nextLine();
        System.out.println("客户端说:" + sr);
        // 7.
        socket.close();
        
    }}

客户端:

/*客户端/

public class Client {
   public static void main
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值