QTcpSocket 发送数据的几种方法

2023-11-14

 

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

 

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

 

 

 

 

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

 

 

Cpp代码   收藏代码
  1. QString *a=new QString;  
  2. tcpSocket->write(a,a->length());  

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

 

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

 

转载于:https://www.cnblogs.com/lvdongjie/p/3758104.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

QTcpSocket 发送数据的几种方法 的相关文章

  • 3D数学基础——向量与矩阵变换

    向量相乘 1 点乘 两个向量的点乘等于他们的数乘结果乘以两个向量之间家教的余弦值 v k v k cos cos v k v k 通过点乘的结果计算两个非单位向量的夹角 2 叉乘 叉乘只在3d空间中有定义 他需要两个不平行向量作为输入 生成
  • nvm install node没反应_LINUX使用nvm安装node,nrm的使用

    为什么要使用nvm来安装node 我们在开发过程中 特别是协作开发时 通常会对具体的node的版本有限制 我们使用nvm可以轻松解决这个问题 nvm安装node的好处就是可以切换node版本 用起来方便 所以介绍下如何使用nvm安装node
  • 【Vs Code 学习笔记】

    Vs Code 远程连接服务器 详细教程 默认你已经安装好了Vs Code 1 如果没有请参考官网链接 https code visualstudio com 直接安装就可以了 2 打开VsCode 你可以看到如下界面 然后在按照如下操作下
  • Java的Properties属性集、获取项目路径的3种方式(干货满满)

    属性集介绍 集合家族中有个成员java util Properties 它继承于Hashtable Properties是使用键值结构存储数据的 但它最大的特点是具有持久化功能 持久化 内存 gt 硬盘 持久化的过程必须依赖于IO流 对IO
  • MyBatis执行器与新增返回主键问题

    前提 在写需求时碰到一个问题 在新增加一条数据时需要返回主键并进行后续操作 发现当前项目并不能返回主键 正常返回主键代码 1
  • PTA C 7-3 计算职工工资

    给定N个职员的信息 包括姓名 基本工资 浮动工资和支出 要求编写程序顺序输出每位职员的姓名和实发工资 实发工资 基本工资 浮动工资 支出 输入格式 输入在一行中给出正整数N 随后N行 每行给出一位职员的信息 格式为 姓名 基本工资 浮动工资
  • C++继承

    继承的概念 继承 inheritance 机制是面向对象程序设计使代码可以复用的重要的手段 它允许程序员在保持原有类特性的基础上进行扩展 增加功能 这样产生新的类 称为派生类 继承呈现了面向对象程序设计的层次结构 体现了由简单到复杂的认知过
  • maven 报错Failed to execute goal org.apache.maven.pluginsmaven-archetype-plugin3.2

    新手走过各种各样的坑 idea中maven基础配置中总是出现各种各样的错误 在网上找了一些资料 发现并没有找到切入主题的解决方法 走过的坑总是记忆尤新 idea第一次配置maven 提示如下所示错误 仔细检查了一个maven的配置文件 发现
  • 正态分布函数_从微积分角度证明“正态分布密度函数”

    本篇我们来证明一个常见的优美的积分等式 聪明你是否看出如下等式曾在哪里出现过呢 没错如下和正态分布中概率密度函数很像 但我们仅从积分学的角度来分析正面它 证明它灵活的数学技巧 你准备好了吗 因为e x 2是关于x的偶函数 所以我们明显可以想
  • 安装SAS可能遇到的各种问题

    近日 为了提升数据分析的效率 准备开始学习SAS相关内容 结合自身已经掌握的Python 希望在数据分析 挖掘方向走的越来越远 下面 来分享下我安装SAS过程中遇到的各种问题 真是一个一个坑走过来的 系统环境 Windows 10 安装版本
  • 在对话框中实现预览图形文件的功能

    一 使用 acdbDisplayPreviewFromDwg 函数 1 引用说明 此功能获取由指定的图形的预览图像 如果有 pszDwgfilename 将其显示在由HWND参数pPreviewWnd标识的窗口中 图像尺寸最大变化不超过25
  • Anaconda3最新换国内源教程,中科大源或者清华源

    环境 ubuntu16 04 anaconda python 3 7 中科大源 conda config add channels https mirrors ustc edu cn anaconda pkgs main conda con
  • esp32 完整开发指南_【安信可ESP32语音开发板专题①】ESP32-A1S音频开发板之离线语音识别控制LED灯

    本博客学习由 安信可开源团队 潜心编写 做ESP32 A1S离线语音初步入门技术交流分享 如有不完善之处 请留言 本团队及时更改 一 前言 离线语音 顾名思义 在不连网络的状态下 产品能识别语音指令并执行相应的控制输出 安信可基于乐鑫ESP
  • @SpringQueryMap注解 feign的get传参方式

    SpringQueryMap注解 feign的get传参方式 问题 启动服务 传入参数测试 发现feign远程调用的方法入参失败 排查发现是feign接口调用controller方法的时候就没进来参 原因 spring cloud项目使用f
  • armeabi-v7a、arm64-v8a、armeabi、x86、x86_64的区别

    1 armeabi v7a 第七代及以上的ARM处理器 2011年以后生产的大部分Android设备都使用 2 arm64 v8a 第8代 64位ARM处理器 很少设备 三星GalaxyS6是其中之一 3 armeabi 第5代 第6代的A
  • go-zero 基础 -- 进阶指南

    版本 1 4 0 1 目录拆分 1 1 系统结构分析 在上文提到的商城系统中 每个系统在对外 http 提供服务的同时 也会提供数据给其他子系统进行数据访问的接口 rpc 因此每个子系统可以拆分成一个服务 而且对外提供了两种访问该系统的方式
  • FreeRTOS之软件定时器

    FreeRTOS之软件定时器 声明 本人按照正点原子的FreeRTOS例程进行学习的 欢迎各位大佬指责和批评 谢谢 include sys h include delay h include usart h include led h in
  • WIN7打开或关闭Windows功能后空白问题解决

    问题描述 打开或关闭Windows功能界面 一片空白 问题如下 解决方法 参考百度出来的几个办法 都无法解决 可能在下的系统的注册表问题比较严重 参考另一个方法 完美解决 windows7打开或关闭Windows功能后空白的问题 下载win
  • Python指南——类

    http blog csdn net ccat article details 8364 译者 至此Python指南的正文部分就全部译完了 感谢Clover姐姐 Sickkid 尹伟铭 面面 珂珂等朋友在翻译过程中给我提供的帮助和支持 特别
  • 用nodejs到底做什么?

    如何解决学了之后无法解决问题的状态 前端的内容很多 有html css javascript三个大模块 但是如何能去解决问题 核心还是根据你的兴趣 或者你根据一个你能看到的实际项目好好研究一下代码 了解其中运作的机制 然后尝试着修改一下代码

随机推荐

  • EduCoder_web实训作业--CSS样式规则

    由于时间关系 我只写第四题啦 2020 12 31 已将缺失关卡补全 第一关 B D C A B 第二关 h1 style font family 楷体 text align center line height 2 静夜思 h1 h2 s
  • Pandas数据处理与分析

    文章目录 前言 1 导入数据 2 审阅数据 3 数据预处理 4 数据分析 5 pandas数据可视化 这里不再过多的讲解pandas可视化 因为pandas中的数据可视化已经可以满足我们大部分的要求了 也就省下了我们很多自己使用 如 mat
  • flume实验

    1 上传flume ng 1 5 0 cdh5 3 6 tar gz 至 opt modules cdh 并解压 2 编辑 conf flume env sh export JAVA HOME usr java jdk1 7 0 79 3
  • 串口通信与编程01:串口基础知识

    串口通信与编程01 串口基础知识 串口是串行接口 serial port 的简称 也称为串行通信接口或COM接口 串口通信是指采用串行通信协议 serial communication 在一条信号线上将数据一个比特一个比特地逐位进行传输的通
  • Nginx学习笔记3【老男孩教育】

    Nginx模块使用 autoindex网站列表功能 下载功能子配置文件 修改nginx子配置文件 限制模块 认证模块 创建用户名和密码 状态模块 location功能 Goaccess日志分析 模块总结
  • 华为OD机试真题 Java 实现【最小的调整次数】【2023Q1 100分】

    一 题目描述 有一个特异性的双端队列 该队列可以从头部或尾部添加数据 但是只能从头部移出数据 小A依次执行2n个指令往队列中添加数据和移出数据 其中n个指令是添加数据 可能从头部添加 也可能从尾部添加 依次添加1到n n个指令是移出数据 现
  • 小学期-中期总结报告

    实训中期总结报告 一 人文 本次实训采取讲练结合的方式 四次讲座分别介绍了实训整体要求安排 开发环境与流程 实验板的硬件电路 单片机原理 随着进度循序渐进 在实践方面 参观贴片整体流程 自己动手焊接电路板 下载实例进行学习 各个案例按照I
  • 使用 npm link 测试本地编写的 node 模块 / 引入全局安装的 node 模块

    目录 1 npm install VS npm install g 2 npm install g 的本质 映射脚本的作用 3 如何测试使用未发布的 npm 包 npm link 原理 4 link 到项目 4 1 全局 link 4 2
  • 2023最新51单片机毕设选题推荐

    文章目录 1前言 2 STM32 毕设课题 3 如何选题 3 1 不要给自己挖坑 3 2 难度把控 3 3 如何命名题目 4 最后 1前言 更新单片机嵌入式选题后 不少学弟学妹催学长更新STM32和C51选题系列 感谢大家的认可 来啦 以下
  • 常见排序算法的时间复杂度、空间复杂度、稳定性比较

    常见排序算法的时间空间复杂度 稳定性比较 一 排序算法比较 注 1 归并排序可以通过手摇算法将空间复杂度降到O 1 但是时间复杂度会提高 2 基数排序时间复杂度为O N M 其中N为数据个数 M为数据位数 二 辅助记忆 1 时间复杂度记忆
  • vue中页面自动刷新

    当我们在做项目时 我们需要做当前页面的刷新来达到数据更新的目的 在此大概总结了几种常用的页面刷新的方法 1 window location reload 是原生JS提供的方法 this router go 0 是vue路由里面的一种方法 这
  • 在Ubuntu上搭建samba服务器实现文件共享

    通常情况下Ubuntu通过开启共享文件夹只能实现Windows和Ubuntu的文件共享 而在Ubuntu上搭建samba服务器则可以实现同一局域网下不同操作系统文件共享 实现更多便捷操作 以下总结了在Ubuntu上搭建samba服务器的具体
  • Android7.1 使用ToolBar, XML文件报错 androidx.appcompat.widget.Toolbar, was not found in the project解决方案

    完整报错信息 Class referenced in the layout file androidx appcompat widget Toolbar was not found in the project or the librari
  • 爬虫实战—轻松爬取全国40城5000+地铁站点数据!附源码和数据集

    原文链接 小一教你轻松爬取全国40城5000 地铁站点数据 附源码和数据集 大家好 我是小一 上一篇文章讲了一个失败的数据分析案例 导致失败最最主要的原因就两个字 数据 有时候 爬虫爬到的数据是很珍贵 很稀缺 但是在实际项目最好还是多点谨慎
  • Netty网络编程(二):架构概述

    文章目录 简介 netty架构图 丰富的Buffer数据机构 统一的API 事件驱动 其他优秀的特性 总结 简介 Netty为什么这么优秀 它在JDK本身的NIO基础上又做了什么改进呢 它的架构和工作流程如何呢 请走进今天的netty系列文
  • python中三大数据提取方法(3)----正则表达式re库

    1 什么是正则表达式 正则就是特定的规则对数据进行过滤 拿到我们想要的数据 在python中爬虫提取数据时re是万能的 所有的数据都可以使用re进行提取 python正则表达式的使用要借助re模块 安装方法 pip install re 2
  • CVE-2022-26134 Confluence远程命令执行漏洞复现

    Confluence介绍 Confluence是一个专业的企业知识管理与协同软件 也可以用于构建企业wiki 使用简单 但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息 文档协作 集体讨论 信息推送 Confluence Serve
  • 【计算机毕业设计】232流浪动物领养信息系统

    一 系统截图 需要演示视频可以私聊 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术 让传统数据信息的管理升级为软件存储 归纳 集中处理数据信息的管理方式 本流浪动物领养信息系统就是在这样的大环境下诞生 其可以帮助管理者在短时间内处理
  • Windows、Linux中std::this_thread::get_id()导致的Qt中sql执行报Driver not loaded错误

    Windows Linux中std this thread get id 导致的Qt中sql执行报Driver not loaded错误 抽象代码 void dosomework std ostringstream oss oss lt l
  • QTcpSocket 发送数据的几种方法

    1 QTcpSocket 继承于QAbstractSocket继承于QIODevice 2 QTcpSocket 提供的几种接收和发送数据方法 write const char qint64 qint64 write const char