QTcpSocket类的方法connectToHost会泄露内存,即使把调用这个方法的QTcpSocket实例delete掉,内存也不会释放!反复connectToHost会导致段错误,十分危险。必须控制connectToHost的使用次数!

  1. 连接服务器 
    m_tcpSocket->connectToHost(“127.0.0.1”, 9877); 
    connected = m_tcpSocket->waitForConnected(); 
    只有使用waitForConnected()后,QTcpSocket才真正尝试连接服务器,并返回是否连接的结果。

  2. 写数据 
    m_tcpSocket->write(str.toStdString().c_str(), strlen(str.toStdString().c_str())); 
    m_tcpSocket->waitForBytesWritten(); 
    当使用waitForBytesWritten()后,QTcpSocket才真正发送数据。 
    m_tcpSocket->write(str1.toStdString().c_str(), strlen(str1.toStdString().c_str())); 
    m_tcpSocket->write(str2.toStdString().c_str(), strlen(str2.toStdString().c_str())); 
    的结果是发送了str1str2

  3. 断开与服务器的连接 
    m_tcpSocket->disconnectFromHost() 
    m_tcpSocket->waitForDisconnected()

  4. 善于使用QTcpSocket的SIGNAL:connected(),disconnected(),error(QAbstractSocket::SocketError) 
    配合自定义私有开关变量bool connected,QTimer可以实现自动重连接等逻辑。

QTcpSocket的使用步骤相关推荐

  1. Qt关于Tcp通信步骤的总结

    Qt中TCP通信,与C++中tcp通信还是有差别的,下面总结一下Qt中TCP通信. 服务端: 创建QTcpServer对象.可以在构造函数中创建,在.h中声明类QTcpServer,并在类中定义其指针 ...

  2. Qt CS架构 客户端代码编写技巧 QTcpSocket

    QT网络编程解说 QTcpSocket网络编程细节 这里是更新版本的 Qt 网络编程解说 QT网络编程解说 很多人在编写网络代码的时候,客户端代码编写的功能总不能胜任所需要的功能能力,现在我将编写网络 ...

  3. kafka+zookeeper搭建步骤kafka问题

    kafka+zookeeper搭建步骤 帅气的名称被占用关注 0.1392018.12.04 13:48:00字数 1,007阅读 88 vmware 安装centOS7 克隆虚拟为:三台 本地你的I ...

  4. 白化(预处理步骤)【转】

    白化(预处理步骤)[转] 介绍 我们已经了解了如何使用PCA降低数据维度.在一些算法中还需要一个与之相关的预处理步骤,这个预处理过程称为白化.举例来说,假设训练数据是图像,由于图像中相邻像素之间具有很 ...

  5. Centos7安装Nginx详细步骤

    1.  gcc 安装 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装: yum install gcc-c++ 2.PCRE pcre-d ...

  6. JDBC简单操作步骤总结

    JDBC 操作步骤 1:加载数据库驱动 2:建立与数据库之间的连接 3:发送SQL语句 4:获取查询结果 5:使用完之后,应进行断开连接,减少服务器负担. frist 提前下载相关jar包,添加相应依 ...

  7. 管理多供应商物联网项目的10个关键步骤

    管理多供应商物联网项目的10个关键步骤 10 critical steps for managing a multi-vendor IoT project 一旦您决定创建一个成功的端到端物联网应用开发 ...

  8. 标题 相机标定(Camera calibration)原理和步骤

    标题 相机标定(Camera calibration)原理和步骤 为什么要相机标定? 在图像测量过程和机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机 ...

  9. Android自定义ViewGroup基本步骤

    1.自定义属性,获取自定义属性,可参考 ​ Android自定义View基本步骤 ​ 2.onMeasure() 方法,for循环测量子View,根据子View的宽高来计算自己的宽 高 3.onDra ...

  10. 2021年大数据基础(四):​​​​​​​​​​​​​​​​​​​​​大数据业务分析基本步骤

    2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 大数据业务分析基本步骤 ...

最新文章

  1. SketchUp Pro 2021基础入门学习视频教程
  2. C++对自定义结构体变量排序
  3. 漂亮大气!小米武汉总部正式开园:从签约到建成使用仅用时两年
  4. java8学习之方法引用详解及默认方法分析
  5. php tp框架,TP框架
  6. xml保存图片和读取图片(一)
  7. 电脑自动捆绑软件,怎么办?
  8. 《三体》死神永生之感
  9. XXE漏洞以及XXE漏洞如何修复
  10. 使用python将txt格式的数据转换为csv格式,读取csv数据前几行
  11. Ty p e O R M框架
  12. 无损数据压缩 Lossless Compression
  13. DVWA sql注入(high)
  14. 文本域、标签、密码域、文本区、滚动窗格——文本输入
  15. 计算机玩游戏不能全屏,电脑游戏不能全屏怎么办 电脑游戏不能全屏的解决方法...
  16. yoman yo a:b_Yo API:无限可能
  17. 中国移动清退3G进行时 1
  18. python中非可选参数_python基础教程函数参数
  19. android - ROS Wiki 首页翻译(ros第一篇)
  20. 网教9. 一夜发白《千字文》

热门文章

  1. linux ora-12162,【转】ORA-12162问题的解决及其补充
  2. 计算机网络英语app,在斑马英语app的详细软件功能介绍
  3. android 极光推送测试,Android 极光推送基本步骤
  4. JAVA文件上传大小限制问题
  5. Mat和IplImage转换
  6. 解读大族激光Q3财报:多元化战略已有成效 未来仍值得关注
  7. Pano2VR 展示全景图
  8. 每个大主播都是满屏弹幕,怎么做到的?Python实战无限刷弹幕!
  9. MSP430G2553开发板万年历加温湿度
  10. windows10 计算机打不开怎么办,win10计算器打不开怎么解决|win10打开计算器的方法...