package cn.dali4.code01;
/*网络编程
* 网络通讯协议:
* 通过计算机网络可以使多态计算机实现连接,位于同一个网络中的计算机在进行连接和通信时
* 需要遵守一定的规则,在计算机网络中这些连接和通信的规则被称为网络通信协议,它对数据的
* 传输格式,传输速率,传输步骤等做了统一的规定。通信双方遵守协议才可以完成数据交换。
*
* java.net中提供了两种常见的网络协议的支持:
*
* 1.UDP:用户数据报协议。(数据报是通信基本单位)
* UDP是无连接通信协议.即在数据传输时,数据的发送端和接收端不建立逻辑连接。
* 简单的说,当一台计算机向另外一台计算机发送数据时,发送端不会确认接收端
* 是否存在,就会发送数据,同样接收端在收到数据后,也不会向发送端发送反馈。
*
* UDP的特性:
* UDP协议消耗资源小,通信效率高,所以通常会用于音频,视频和普通数据的传输。
* 这样偶尔丢失一两个数据包,对结果影响也不大。
* 因为UDP协议面向无连接性,所以传输重要数据的时候不建议使用UDP
* UDP数据被限制在了64KB以内,一次性超出这个范围的数据就不可以发送了。
* 数据报(Datagram):网络传输的基本单位
*
* 2.TCP/IP:传输控制协议/因特网互联协议
* 该协议是Internet最基本,最广泛的协议。他是定义了计算机如何连接因特网,以及数据如何
* 在他们之间传输的标准,他的内部包含了一系列的用于处理数据通信的协议。并采用了4层的分层模型,
* 每一层都呼叫他的下一层所提供的协议来完成自己的需求。
* 三次握手:在TCP协议中,发送数据的准备阶段,客户端与服务器之间的三次交互,保证可靠性
* 第一次握手:客户端向服务器发送链接请求,等待服务器确认。
* 第二次握手:服务器向客户端发送相应,通知客户端收到请求
* 第三次握手:客户端再次向服务器发送确认消息,确认链接。
*
* TCP/IP协议中有四个层,分别是应用层,传输层,网络层,链路层
* 链路层:链路层是用于定义物理传输通道,通常是对某些网络连接设备的驱动协议。例如针对光纤
* 网线提供的驱动。
* 网络层:网络层是整个TCP/IP协议的合信,它主要用于将传输的数据进行分组,将分组数据发送到目标
* 计算机或者网络
* 运输层:主要使网络程序进行通信,在进行网络通信时,可以采用TCP协议,也可以使用UDP
* 应用层:主要负责应用程序的协议。
*
* 当我们使用TCP协议,对另外一个计算机发送数据的时候。
* 首先我们打开一个网络软件,操作系统会随机的为他分配一个端口号。(软件也可以向操作系统索要固定的号)
* 我们可以通过IP地址找到对方的计算机。
* 再把数据发送到对应软件的端口号上。
*
* 端口号0-65535之间 0-1024不能使用 系统已经分配好了
* 常用端口号: 80端口 网络端口
* 数据库 Mysql:3306 oracle:1521
* tomcat服务器 8080
*
* IP地址分类:
* IPV4:是一个32位二进制数,通常被分为4个字符 例如 192.168.1.1 每个字符范围0-255
* IPV6:采用128位2进制数,每十六个字节一组,分成8组。
*
* 常用命令: ipconfig 查看本机地址
*
* */
public class Demo01 {
}
网络编程
最新推荐文章于 2025-03-06 16:44:48 发布