网络编程

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

基本的通信架构

基本通信架构有两种:CS架构(Client客户端/Server服务端)、BS架构(Browser浏览器/Server服务端)。

网络编程_System

网络编程_IP_02

网络通信三要素

网络编程_数据_03

网络编程_IP_04

网络编程_System_05

网络编程_IP_06

网络编程_IP_07

InetAddress(IP地址)

网络编程_System_08

public class test {
    public static void main(String[] args) throws Exception {
        // 1. 获取本机IP地址对象
        InetAddress ip1 = InetAddress.getLocalHost();
        System.out.println("本地主机名: " + ip1.getHostName());
        System.out.println("本地IP地址: " + ip1.getHostAddress());

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

        // 检查是否可到达
        System.out.println("是否可到达: " + ip2.isReachable(6000) + " (超时6秒)");
    }
}

端口

标记正在计算机上运行的应用程序,被规定为一个16位的二进制,范围0~65535

网络编程_IP_09

协议

网络上通信设备,事先规定的连接规则,以及传输数据的规则被称为网络通信协议。

网络编程_IP_10

传输层的两个通信协议

UDP(User Datagram Protocol)用户数据报协议

TCP(Transmission Control Protocol)传输控制协议

UDP协议

特点:无连接、不可靠 。通信效率高,用于语音童话,视频直播。

不事先建立连接,数据按照包发,一包数据包括:自己的IP、程序端口,目的地IP、程序端口和数据(限制在64K内)等。

发送方不管对方是否在线,数据在中间丢失也不管,如果接收方收到数据也不会确认,故是不可靠的。

TCP协议

特点:面向连接,可靠通信

目的:保证在不可靠的信道上实现可靠传输

三个步骤:三次握手建立连接(全手工,三次连接是指1.客户端向服务器端发出连接请求,2.服务器端返回响应,3.客户端再次发出确认信息,建立连接,确认双方能发能收),传输数据进行确认,四次挥手断开连接(1.客户端发送断开请求,2.服务器端返回稍等响应,3.服务器端返回响应确认断开,4.客户端发出正式断开连接。确保双方收发数据都已完成)。