持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第16天
3 总体设计
3.1功能模块图
3.2 技术设计
3.2.1 TCP和UDP 介绍
1. UDP通信
UDP是用户数据报协议的简称。它是以中午连接的逻辑通信信道。UDP在传送数据之前不需要先建立连接,远地主机的传输层在收到UDP数据报后,不需要给出任何确认,所以不能保证其交付时可靠。它的特点是:因无连接,故提供的是不可靠的信道,但也是因无连接而具有很好的传输效率。
2. TCP通信
TCP是传输控制协议的简称,它是提供一条全双工的、可靠的信道。TCP提供面向连接的服务,在传送数据之前必须先建立连接,数据传送结束后要释放连接。TCP不提供广播和多播服务。由于TCP要提供可靠的、面向连接的运输服务,所以不可避免地增加了许多系统开销,比如确认、流量控制、计时器以及连接管理等都需要占用许多系统的时空资源。两个计算机之间如果使用TCP通信,其连接过程需要三次握手实现,如下图所示。
对于两个计算机之间连接的释放过程也需要类似的3次握手的互相确认的过程,如下图所示。
3.2.2客户/服务器模型
在客户/服务器模型中,多个相互通信的计算机都作为客户端,与网络服务器进行连接,并通过服务器进行信息的传递。所以多个客户端之间的通信就变为了客户端与服务端的通信。所以,采用客户/服务器模型进行网络聊天需要分别编写服务器端和客户端的程序,服务器和客户端之间相互通信的同步关系和各自的程序流程,如下图所示。