当前位置: 首页 > wzjs >正文

网站建设开题报告数据库建立广西建设局建设行政主管部网站

网站建设开题报告数据库建立,广西建设局建设行政主管部网站,建立网站的主要步骤,南宁网站建设q479185700棒网络编程的本质就是在编写应用层代码。需要传输层支持。而传输层的协议有UDP、TCP等 使用QT网络编程的API,需要在.pro文件中添加network模块,而QT中的控件和其他内容都是包含在QtCore模块中的(默认添加) QT为什么要划分模块&…

网络编程的本质就是在编写应用层代码。需要传输层支持。而传输层的协议有UDP、TCP等

使用QT网络编程的API,需要在.pro文件中添加network模块,而QT中的控件和其他内容都是包含在QtCore模块中的(默认添加)

QT为什么要划分模块?

Qt是一个庞大的框架,当功能集中放在一块时,如果书写一个简单的程序,没有进行模块划分,那么此时生成的可执行程序就会很大,而其中包含了很多没有使用的功能,性价比太低,不如做模块化处理,按需引入所需要的模块


UDP Socket 

主要的类有:QUdpSocket、QNetworkDatagram。QUdpSocket表示一个UDP的socket文件,QNetworkDatagram表示一个UDP数据报

QUdpSocket
名称类型解释对标原生API
bind(const QHostAddress&,quint16)方法绑定指定端口bind
receiveDategram()方法返回QNetWorkDatagram,读取一个UDP数据报recvfrom
writeDatagram(const QNetworkDataGram&)方法发送一个UDP数据报sendto
readyRead信号收到数据并准备就绪后触发
QNetworkDatagram
名称类型解释对标原生API
QNetworkDatagram(const  QByteArray&,const QHostAddress&,quint16)构造函数通过QByteArray,目标IP地址,目标端口号构造一个UDP数据报,通常用于发送数据时
data()方法获取数据报中内部持有的数据,返回QByteArray
senderAddress()方法获取数据报中包含的对端IP地址recvfrom包含了该功能
senderPort()方法获取数据报中包含的对端的端口号recvfrom包含了该功能

要在QT中编写网络代码需要在.pro文件中添加network

 

端口绑定要在信号槽后面,因为绑定意味着请求可以被收到

服务器逻辑:

 

客户端逻辑:

Tcp Socket:

  •  UDP无连接,不可靠传输,面向数据报
  • TCP有链接,可靠传输,面向字节流

核心类:QTcpServer 和 QTcpSocket

QTcpServer
名称类型说明对标原生API
listen(const QHostAddress&, quint16 port)方法绑定指定的地址和端⼝号,并开始监听.Bind和listen
nextPendingConnection()方法从系统中获取到⼀个已经建⽴好的tcp连接.返回⼀个 QTcpSocket ,表⽰这个客⼾端的连接.通过一个socket对象完成和客⼾端之间的通信.accept
newConnection信号有新的客⼾端建⽴连接好之后触发

QTcpServer ⽤于监听端⼝,和获取客⼾端连接. 

QTcpSocket
名称类型解释对标原生API
readAll()方法读取当前接收缓冲区中的所有数据.返回QByteArray对象.read
write(const QByteArray&)方法把数据写⼊socket中.write
deleteLater方法暂时把socket对象标记为⽆效.Qt会在下个事件循环中析构释放该对象.
deleteLater信号有数据到达并准备就绪时触发.
disconnected信号连接断开时触发.

QTcpSocket用户客户端与服务器的数据交互 

tcp服务端回显界面代码:

tcp客户端回显代码:

HTTP

QNetworkRequest表示一个HTTP请求。

关键类:

  • QNetworkAccessManager
  • QNetworkRequest
  • QNetworkReply。
QNetworkAccessManager
get(const QNetworkRequest& )发起一个HTTP GET请求,返回QNetworkReply对象
post(const QNetworkRequest&,const QByteArray& )发起一个HTTP POST请求,返回QNetworkReply对象

 QTextEdit天然支持对HTML的解析,会对HTML进行解析渲染,最终显示的效果不是原始的HTML

http客户端回显界面代码:

get本身不是阻塞函数,get只负责发送请求,不负责等待响应回来。但response中带有一个finnished信号,通过该信号对应的槽函数来处理响应

 

 

QT多媒体

在Qt中,音频主要通过QSound类实现,但是QSound类只支持wav格式的音频文件,如果想添加音频效果需要将非wav格式的音频文件转换为wav格式。

在编写代码时,需要往.pro文件中添加multimedia模块

API函数
play()播放音频
  • 将声音文件添加到.qrc中 
  • 创建一个Sond对象
  • 调用API函数play

 

 

 

http://www.dtcms.com/wzjs/543345.html

相关文章:

  • 建网站推广效果怎么样龙岩关键词优化排名
  • 烟台网站建设方案做虚假网站判多少年
  • 学而思编程网站wordpress评论调用
  • 网站信息发布和内容建设自查报告网站上的平面海报怎么做
  • 手机网站模板 导航wordpress 最近文章
  • 河北邢台路桥建设公司网站竞价服务托管价格
  • 目前做网站框架上线了建的网站免费吗
  • 新网站怎么做才会被收录dedecms怎么做网站
  • react做网站企业网站被转做非法用途
  • 建设通网站查询单位学wordpress不需要学DW
  • 衡阳市建设局网站seo搜狗排名点击
  • 深圳网站制作公司售后服务网页浏览器tv版
  • 建站工具缺点做网站用什么语言最好
  • 怎么把网站加入黑名单网站的搜索框如何做
  • 用php做网站流程怎样用代码建设一个网站
  • php网站留言板模板下载wordpress禁言插件
  • 做品管圈网站网站网站弹出窗口去掉
  • 俄罗斯做货代的网站济南做网站公司电话
  • 广州有哪些知名企业网站维护与优化教程
  • 朝阳网站设计icp备案 网站名称
  • 制作免费制作个人网站怎么做wordpress重新安装博客怎么搬家
  • 厦门网站建设维护天津电力建设公司招标网站
  • 做网站哪家服务器好1g内存vps 开电影网站
  • 佛山网站建设公司哪家最好网站设计人员
  • 沧州网站建设网海申外贸网站建设方案
  • 360网站建设的目标是什么河南网站制作公司哪家好
  • cnzz站长统计工具企业网站网址
  • 鹰潭网站建设公司租用大型服务器多少钱
  • php快速建站系统做国外服务器网站
  • 营销型网站设计价格钦州的网站建设