什么叫做网络编程
在网络通信协议下,运行在不同的计算机之间的软件进行的数据传输
网络编程三要素
-
IP (用来确认是哪几台计算机在进行数据传输)
---设备在网络中的地址,是唯一的标识
-
端口号 (用来确认是计算机内的哪个软件,一个软件只能使用一个端口号)
---应用程序在设备中唯一的标识
---端口号由两个字节表示的整数,取值范围为:0
65535,其中01023之间被知名网络服务和应用占用 -
协议
---计算机网络中,连接和通信的规则; 常见的协议有UDP,TCP,http,https,ftp
----组成
- 应用层--HTTP、FTP、Telnet、DNS...
- 传输层--TCP、UDP...
- 网络层--IP、ICMP、ARP...
- 物理链路层--硬件设备010101010101
UDP协议
- 用户数据报协议
- UDP是面向无连接通信协议,不需要检查网络
- 优缺点: 速度快,有大小限制,一次只能发送64K,数据不安全,容易丢失数据
- 通信方式:单播、组播、广播
TCP协议
- 传输控制协议
- TCP是面向连接的通信协议,传输前需要检查网络
- 优缺点: 速度慢,没有大小限制,数据安全
TCP三次握手
确保连接的建立
- 客户端向服务器发出连接请求,等待服务器的确认
- 服务器向客户端返回一个响应,告诉客户端收到流量请求
- 客户端向服务器再次发出确认信息,连接建立
TCP四次挥手
确保连接断开,且数据处理完毕
- 客户端向服务器发出取消连接请求
- 服务器向客户端返回一个响应,表示收到了客户端的取消请求
- 此时服务器处理完毕未处理的数据后,再次向客户端发送确认取消连接的信息
- 客户端再次发送确认取消信息,连接取消