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

网站控制台seo工作前景如何

网站控制台,seo工作前景如何,网站界面风格,电商网站建设属于研发费用吗Qt QTcpSocket的write无法发送数据 一、问题描述二、解决方案三、深入了解write机制3.1 write函数3.2 flush函数3.3 waitForBytesWritten函数 四、参考链接 一、问题描述 QTcpSocket的write函数发送数据,使用网络调试助手收不到值,但能收到连接和断开连…

Qt QTcpSocket的write无法发送数据

  • 一、问题描述
  • 二、解决方案
  • 三、深入了解write机制
    • 3.1 write函数
    • 3.2 flush函数
    • 3.3 waitForBytesWritten函数
  • 四、参考链接

一、问题描述

QTcpSocket的write函数发送数据,使用网络调试助手收不到值,但能收到连接和断开连接,单步Debug write函数能执行成功,也有返回值。使用wireshark抓包,只有连接和断开连接的信号,没有数据发来。
也怀疑缓冲区不够就不发,write了很多也没用,感觉像是哪里堵塞或者缓冲区有问题,尝试停了其它QTcpSocket,只留一个点击按钮才发送,能正常发。

网上搜了也有很多类似的问题,官方文档并没有写清楚它的机制。

二、解决方案

综合网上的回答与自己的测试结果,主要有以下两种解决方案:

    1. write后,立即使用flush 或 waitForBytesWritten (可能会带来性能上的问题)
    1. 使用信号和槽,槽函数里调用write (交给Qt,比较推荐)
      (死去的回忆攻击了我,之前就是这么写的,所以没有发现这个问题,也就没有深入了解)

三、深入了解write机制

3.1 write函数

QTcpSocket的write是非阻塞式的,它会写入内部缓冲区, 并不会发送出去。其发送依赖于事件循环,或者底层的网络协议和系统调度 - 具体可深入源码了解。

借用论坛中大佬的回复:
write的频率过高则会将数据全部写入缓冲区,测试的时候大概估计100微妙以上的间隔才会发送,要不会一直写缓存。

3.2 flush函数

bool QAbstractSocket::flush ()

调用flush,会将内部写缓冲区写入底层socket,而不会造成阻塞。只要有数据写入就返回true;否则返回false。需要立即发送缓冲区的数据,可以调用此函数,成功写入的字节数取决于操作系统
一般不需要调用此函数,一旦返回事件循环,QAbstractSocket将自动开始发送数据。在没有事件循环的情况下,改为调用waitForBytesWriten()。

3.3 waitForBytesWritten函数

bool QAbstractSocket::waitForBytesWritten ( int msecs = 30000 )

调用此函数会阻塞,直到缓冲的数据已写入设备并发出bytesWriten()信号,或者超时 (默认)。如果msecs为-1,则此函数不会超时。如果数据已写入设备,则返回true;否则返回false(超时或发生错误)。
应用于非GUI应用程序和在非GUI线程中执行I/O操作时,即用最好新线程使用此函数,避免阻塞。

注:此函数在windows上有bug,建议使用事件循环或bytesWritten()信号

四、参考链接

    1. QT QTcpSocket发送数据问题:https://blog.csdn.net/soulfy/article/details/19631735
    1. 如何在QTCPSocket中不使用flush和waitFOrBytesWritten将数据直接写入套接字:https://cloud.tencent.com/developer/ask/sof/104559805
    1. Qt中的QTcpSocket类的write()方法不能发送数据的解决方法:https://blog.csdn.net/simmerlee/article/details/9000882
    1. QT中QTcpSocket的write函数问题:https://bbs.csdn.net/topics/390411733
    1. QTcpSocket通信编程时阻塞与非阻塞的问题:https://blog.csdn.net/NEOMc/article/details/5548959
    1. 使用Qtcpsocket中的flush()方法后导致release版本运行不稳定问题:https://bbs.csdn.net/topics/390982307
http://www.dtcms.com/wzjs/482227.html

相关文章:

  • 简易 建站国内好用的搜索引擎
  • ps网站首页效果图实例seo搜索引擎优化主要做什么
  • 香港公司网站内地主机2022年十大网络流行语发布
  • 新手如何建站石家庄网站建设就找
  • 哪家网站做民宿好打开百度搜索网站
  • 澳门网站开发广告推广代运营公司
  • 外国人做的篆字网站百度应用宝
  • 中国设计网简介索引擎优化 seo
  • html5 网站布局应用教程电商培训
  • 商城网站建设需求如何制作网站链接
  • 网站备案变更 委托书黑帽seo论坛
  • 衡阳建设网站公司推广之家app下载
  • 做个网站app吗网站平台都有哪些
  • 银川网站建设网络网站系统开发
  • 电子商务网站建设的体会seo公司排名教程
  • 网站底部留言代码郑州模板网站建设
  • 网站备案需要多少钱网站数据
  • 机械网站开发百家号权重查询
  • 免费空间凡科小红书seo是什么意思
  • 河北省质监站网址seo助理
  • 中国建行官网登录首页北京网站优化经理
  • 网站建设div ass做网站一般需要多少钱
  • 设计公司网站设计方案b站视频未能成功转码
  • 网站内容如何自动关联新浪微博seo先上排名后收费
  • 自助建站 平台培训学校招生营销方案
  • 用脚手架如何搭建项目做网站广州seo网络培训课程
  • 山东潍坊网站制作公司如何给网站做推广
  • 手机做任务的网站有哪些内容今天的新闻摘抄
  • ip地址被限制不能访问网站优化大师app下载安装
  • 分析建设网站的可行性分析seo搜索引擎优化原理