网络
将不同地区的计算机设备通过物理线路(网线,光纤)连接实现数据的传输
网络编程概述
在网络的基础上,开发的程序能够进行数据传输 Java支持网络,将网络链接的细节封装起来,对外提供一套网络库(类)就可以进行统一环境的网络编程
如何进行网络传输( 核心)
找到网络世界的目标主机和程序(IP 端口)
网络三要素 IP地址,端口号(即地址),通信协议
ip指互联网协议地址 ipconfig 局域网ip 192.168
端口:计算机运行程序都分配一个整数编号,用于区分不同应用程序 不重复 范围 0--65535 但是0-1024 已被使用
通信协议 (规则,约定):计算机网络中实现通讯的一些约定 (通信协议,对速率,传输代码,代码结构,传输控制步骤,出错控制等定制标准
tcp(传输步骤控制协议) :客户端向服务器端发送数据前,先建立链接(测试网络是否通畅)正式传输数据
使用前建立TCP连接 形成传输数据通道
三次握手
1.客户端向服务器发送链接请求
2.服务器收到客户端链接请求,给客户端做出一个回应
3.客户端向服务器给出的回应做出回应
4.开始数据传输
四次挥手
1.客户端向服务器发出断开的请求
2.服务器端向客户端做回应
3.服务器端将没有传输的数据传输完毕再向客户端做出回应
4.客户端向服务器端回应做出回应
5.断开
此为三次挥手,四次握手的图解便于理解
安全可靠但效率校对与UDP低。
udp(用户数据报协议)将发送的数据封装成一个数据包(报)其中包括数据,IP,端口。只发送,成功未知。
特点
UDP:用户数据报协议 只管发送,是否成功? 不知道
*将数据\源(自己电脑的ip)\目的(接收端ip 端口)封装成数据包,不需要建立连接
*每个数据报的大小限制在64k内
*发送前不需要建立连接,直接发送,例如发射导弹(是否成功? 不知道)
*不安全,但是效率高
tcP协议:使用之前建立TCP通道,进行大量数据传输,在数据传输完毕后断开链接,效率低