QT TCP UDP网络通信<理论篇>

网友投稿 461 2022-10-14


QT TCP UDP网络通信<理论篇>

大概会花三到四篇博客去讲关于QT里面网络通信的内容,其实不能说是QT的网络通信,不管什么语言,其实都是差不多,本质在于实现的方法不同,通信的机制都是一样的

第一篇:关于网络通信的基础知识

网络通信概述:网络编程是万物互联的基础,目前用到的TCP/IP协议,它本身是分为四层:应用层、传输层、网际层、网络接口层。但是作为普通程序员,我们写程序的时候也只是用到了传输层和应用层。现在常见的网络通信协议主要包括:TCP UDP FTP HTTP,无论是在window还是Linux,系统都提供了统一的套接字,也就是常说的socket,在QT中,QT已经封装了网络模块QtNetwor,这个集成度非常高,基本可满足基本的需要。

传输控制协议(transmission control protocol ,TCP)是一种可靠、面向连接、面对数据流的传输协议,HTTP、FTP都有TCP的影子,TCP协议适合连续的数据传输,也是对数据安全性有保证的传输。

首先启动服务器,一段时间后启动客户端,它与此服务器经过三次握手后建立连接。此后的一段时间内,客户端向服务器发送一个请求,服务器处理这个请求,并为客户端发回一个响应。这个过程一直持续下去,直到客户端为服务器发一个文件结束符,并关闭客户端连接,接着服务器也关闭服务器端的连接,结束运行或等待一个新的客户端连接。

由于复杂的通信过程,所以在通信速度上肯定是要慢于UDP通信的。

UDP: 用户数据报协议(User Data Protocol, UDP)是一一种简单轻量级、不可靠、面向数据报、 无连接的传输层协议,可以应用在可靠性不是十分重要的场合,如短消息、广播信息等。 适合应用的情况有以下几种: ●网络数据大多为短消息; ●拥有大量客户端; ●对数据安全性无特殊要求; ●网络负担非常重,但对响应速度要求高。

工作原理:UDP客户端向UDP服务器发送一定长度的请求报文,报文大小的限制与各系统的协议实现有关,但不得超过其下层IP协议规定的64KB; UDP服务器同样以报文形式作出响应。如果服务器未收到此请求,客户端不会进行重发,因此报文的传输是不可靠的。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:雀食蟀!Java Netty实战入门
下一篇:Google开源的WebRTC技术安全吗?
相关文章

 发表评论

暂时没有评论,来抢沙发吧~