0 前置知识
0.1 网络通信&网络编程
网络通信:是指两个或多个计算机系统之间通过网络进行数据交换的过程。
网络编程:是指开发可以在网络上通信的应用程序的技术和实践。它使程序能够在不同的计算机之间交换数据和信息。网络编程涉及编写客户端和服务器端的应用程序,它们通过网络进行通信。
0.2 TCP协议及其特点
TCP(Transmission Control Protocol)简称传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。
特点:
①面向连接:通信双方必须先建立好连接才能进行数据的传输,并且双方都会为此连接分配必要资源来记录连接的状态和信息。当数据传输完成后,双方必须断开此连接,以释放系统资源。
②可靠传输:
TCP采用发送应答机制:通过TCP这种方式发送的每个报文段都必须得到接收方的应答才认为这个TCP报文段传送成功。
超时重传:发送端发送一个报文之后就会启动定时器,如果指定时间内没有得到应答就会重新发送这个报文段。
错误校验:TCP用一个校验和函数来校验数据是否有错误,在发送和接收时都要计算校验。
流量控制和阻塞管理:流量控制用来避免发送端发送过快而使得接收方来不及接收。
0.3 socket套接字
socket套接字工具,是计算机之间进行通信的一种约定或一种方式。通过socket这种约定,一台计算机可以接收其他计算机的数据