首先介绍一下TCP,UDP的特点:
TCP是面向连接的流式传输协议,UDP是面向无连接的报式传输协议
TCP(传输控制协议)和UDP(用户数据报协议)
TCP(传输控制协议)
- 面向连接:在数据传输之前,TCP会建立一条可靠的连接,以确保数据的有序传输。
- 流式传输:TCP将数据视为连续的字节流,不保留数据报边界。
-----流式传输协议是一种用于在网络上传输连续数据流的协议。它允许数据以一种连续的、类似于流水的方式进行传输,而不是 以离散的数据包形式进行传输。
a连续性:流式传输协议将数据视为一个连续的流,而不是独立的数据包。这意味着数据可以以一种不间断的方式进行传输,从而减少了传输延迟。
b实时性:由于数据是连续传输的,流式传输协议适用于实时性要求较高的应用,如音频和视频流媒体。
c顺序性:流式传输协议通常要求数据按照正确的顺序进行传输,以确保数据的完整性和准确性。
d可靠性:为了保证数据的可靠性,流式传输协议通常采用一些机制,如错误检测和纠正、重传等。
- 可靠性:TCP通过确认、重传和超时机制来保证数据的可靠传输。
- 有序性:TCP确保数据以正确的顺序到达目的地。
- 流量控制:TCP使用滑动窗口机制来控制发送方的发送速度,以避免接收方的缓冲区溢出。
- 拥塞控制:TCP使用拥塞控制算法来避免网络拥塞,并根据网络状况调整发送速率。
UDP(用户数据报协议)
- 面向无连接:UDP不建立连接,直接将数据报发送到目的地,不保证数据的有序传输。
- 报式传输:UDP保留数据报的边界,将数据划分为独立的数据报进行传输。
- 不可靠性:UDP不保证数据的可靠传输,不进行确认、重传和超时处理。
- 无序性:UDP不保证数据的有序到达,接收方可能收到乱序的数据报。
- 无流量控制:UDP不进行流量控制,发送方可以以任意速度发送数据报。
- 无拥塞控制:UDP不进行拥塞控制,不根据网络状况调整发送速率。
TCP和UDP是两种不同的传输层协议,它们在可靠性、有序性、流量控制和拥塞控制等方面存在差异。TCP适用于对可靠性要求较高的应用,如文件传输和远程登录;而UDP适用于对实时性要求较高的应用,如语音通信和视频流传输。
QT服务器端
窗口搭建
首先在QT中新建一个项目,基类为Qmainwindow
然后在mainwi