Javaday22网络编程

计算机网络 所谓计算机网络,就是把分布在不同区域的计算机与专门的外部设备用通信线路相互连接成 一个规模大,而且功能强的网络系统,从而使得计算机之间可以相互传递信息,共享数据、 软件等资源 所谓网络编程,指的就是在同一个网络中不同机器之间的通信 IP地址 IP地址指的是互联网地址(Internet Protocol Address ) ,是联网设备与互联网之间的唯一标 识,在同一个网段中,IP地址是唯一的 A类:保留给*结构,1.0.0.1 ~ 126.255.255.254 B类:分配给中型企业,128.0.0.1 ~ 191.255.255.254 C类:分配给任何需要的个人,192.0.0.1 ~ 223.255.255.254 D类:用于组播,224.0.0.1 ~ 239.255.255.254 E类:用于实验,240.0.0.1 ~ 255.255.255.254 端口 数据的发送和接收都需要通过端口出入计算机,端口号用于唯一标识通信实体上进行网络通 讯的程序,同一台机器上不能两个程序占用同一个端口 端口号的取值范围:0~65535 端口分类: 公认端口:0~1023 注册端口:1025~49151 动态或私有端口:1024~65535 常用端口: mysql:3306 oracle:1521 tomcat:8080 通信协议 需要通信的设备之间需要实现相同的通信协议 网络分层(七层协议):物理层,数据链路层,网络层,传输层,会话层,表示层,应用层 通信协议分类: 传输层协议:TCP和UDP 网络层IP协议:IPV4和IPV6,互联网协议 应用层协议:HTTP 客户端和服务器 客户端:可以让用户直接交互,用来访问服务器端 服务器端:给用户提供数据的存储,数据的中转,数据的运算 1.客户端服务器端都是指的是应用(app),而非主机,即 客户端!=主机 服务器端!=主机 2.一台主机上可以同时运行多个应用 3.一台主机上可以同时存储客户端和服务器端,也可以分属于不同的主机 4.应用就是一个进程,所以客户端和服务器端都是独立的进程 1.外网:IP是唯一性,不能重复。范围:0.0.0.0~255.255.255.255 2.内网:通过路由器或者交换器设备,来重新设置IP地址。 3.IP: ip地址是确定一台机器的唯一标识符 4.NETMASK(子网掩码):与ip连用,用于确定网络段位 192.168.1.x 范围:1-254 255.255.255.0 1.路由器 路由器是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中 的地址然后决定如何传送的专用智能性的网络设备。 2.交换机 交换机(Switch)意为“开关”是一种用于电(光)信号转发的网络设备。 3Modem 调制解调器(英文名Modem),俗称“猫”,是一种计算机硬件.它能把计算机的数字信号翻译 成可沿普通电话线传送的脉冲信号,而这些脉冲信号又可被线路另一端的另一个调制解调器接 收,并译成计算机可懂的语言。 4.虚拟机 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔 离环境中的完整计算机系统。 InetAddress Java提供了InetAddress类来代表ip地址,是对ip地址的抽取和封装,有两个子类: Inet4Address,Inet6Address,分别表示IPv4和IPv6 URLEncoder类和URLDecoder URLEncoder类和URLDecoder类用于完成普通字符串和application/x-www-form urlencoded MIME字符串之间的转换 概念 TCP,Transmission Control Protocol,传输控制协议,基于字节流的传输层通信协议 特点: a.安全的 b.面向连接的 c.效率低 d.传输数据大小限制,一旦连接建立,双方可以按统一的格式传输大的数据 TCP的三次握手 a.客户端向服务端发送一个请求 b.服务端收到请求后,回客户端一个响应 c.客户端向收到服务端的响应后,回服务端一个确认信息 UDP编程 User Datagram Protocol的简称,用户数据包协议,提供面向事务的简单不可靠信息传送服 务 特点: a.不安全 b.无连接 c.效率高 d.UDP传输数据时是有大小限制的,每个被传输的数据报必须限定在64KB之内 RPC RPC, 远程过程调用(Remote Procedure Call,RPC)是一个计算机通信协议,该协议允许 运行于一台计算机的程序程调用另一台计算机的上的程序。 RPC本质上是一种 Inter-process communication(IPC)——进程间通信的形式。 1.客户端client发起服务调用请求。 2.client stub 可以理解成一个代理,会将调用方法、参数按照一定格式进行封装,通过服务 提供的地址,发起网络请求。 3.消息通过网络传输到服务端。 4.server stub接受来自socket的消息 5.server stub将消息进行解包、告诉服务端调用的哪个服务,参数是什么 6.结果返回给server stub。 7.sever stub把结果进行打包交给socket 8.socket通过网络传输消息 9.client slub 从socket拿到消息。 10.client stub解包消息将结果返回给client。 一个RPC框架就是把步骤2到9都封装起来
上一篇:PHPUnit存根:来自map的默认返回值


下一篇:太好啦!微软推出的 VS Code Python 插件 Pylance啦!