1、QTcpSocket 继承于QAbstractSocket继承于QIODevice

2、QTcpSocket 提供的几种接收和发送数据方法

  • write ( const char *, qint64 ) : qint64
  • write ( const char * ) : qint64
  • write ( const QByteArray & ) : qint64
  • writeData ( const char *, qint64 ) : qint64
  • read ( char * data, qint64 maxSize ): qint64
  • read ( qint64 maxSize ):QByteArray
  • readAll ():QByteArray
  • readLine ( char * data, qint64 maxSize ):qint64
  • readLine ( qint64 maxSize = 0 ):QByteArray
 

3、例子1  write ( const QByteArray & ) : qint64

  1. //用于暂存要发送的数据
  2. QByteArray block;
  3. //使用数据流写入数据
  4. QDataStream out(&block,QIODevice::ReadWrite);
  5. //设置数据流的版本,客户端和服务器端使用的版本要相同
  6. out.setVersion(QDataStream::Qt_4_6);
  7. //设置发送长度初始值为0
  8. out << (quint16) 0;
  9. //设置发送内容
  10. out<<hash;
  11. //回到字节流起始位置
  12. out.device()->seek(0);
  13. //重置字节流长度
  14. out << (quint16) (block.size()-sizeof(quint16));
  15. //往套接字缓存中写入数据,并发送
  16. tcpSocket->write(block);

3、例子2  write ( const char *, qint64 ) : qint64

  1. QString *a=new QString;
  2. tcpSocket->write(a,a->length());

4、例子3  数据流直接使用QIODevice

  1. QDataStream in(tcpSocket);
  2. in<< quint16(0xFFFF); //此时QIODevice加载了此数据,而且直接发送出去
  3. quint16 length = 0;
  4. QDataStream out(tcpSocket);//如果此时tcpSocket直接有数据发送过来
  5. out >> length;//length获得第一个整型值,并在tcpSocket中清空该数据

最新文章

  1. 利用Oracle自带的impdp和expdp进行简单备份
  2. DSP using MATLAB 示例Example3.23
  3. PAT乙级 1033. 旧键盘打字(20)
  4. Virtual Box + CentOS Minimal + Apache搭建Web服务器
  5. 函数fil_io
  6. RDD机制实现模型Spark初识
  7. SQL技巧之排名统计
  8. Linux回收站[改写rm防止误删文件无法恢复]
  9. PF_RING packet overwrites
  10. Intellij IDEA创建Maven Web项目
  11. Eclipse 配置工程
  12. es6中对象的类与继承方法
  13. Java的流程控制结构,细节详解
  14. 【公众号系列】SAP HANA和区块链
  15. 小程序之hover-class
  16. 第15月第29天 ffmpeg AVERROR_EOF
  17. [LeetCode&amp;Python] Problem 892. Surface Area of 3D Shapes
  18. android 自动更新
  19. BZOJ2337: [HNOI2011]XOR和路径(期望 高斯消元)
  20. javascript中注册和移除事件的4种方式

热门文章

  1. B树,B+树的原理及区别
  2. JAVA线程池例子
  3. SpringCloud之Eureka注册中心原理及其搭建
  4. vue 之this.$router.push、replace、go的区别
  5. sudo身份切换
  6. Hadoop_01_Apache Hadoop概述
  7. Oralce问题之ORA-12560:TNS协议适配器错误
  8. 团队第三次作业:Alpha版本第二周小结
  9. 关于C++ Builder Codegurad 问题的排查。
  10. 【WEB】jQuery 判断复选框是否选中