关于Qt5发送udp协议数据
2020-02-16 21:01
344 查看
我们需要利用Qt5发送TCP/UDP的协议数据的问题,这里稍微做个记录。
通信协议(这里只是举例)
Version(1 字节) | Mode(4 字节) | Message(4字节) |
首先我们构建数据结构体
#pragma pack(push) //保存对齐状态
#pragma pack(1)//设定为1字节对齐
struct type_header
{
char version;
int mode;
int data;
};
//__attribute__((packed));
#pragma pack(pop)//恢复对齐状态
typedef struct type_header header_packet;
QT5头文件为 #include <QtEndian>
header_packet pkts;
pkts.header.version = 0x01;
pkts.header.mode = qFromBigEndian(0x00010200);
这样就可以通过调用TCP/UDP的接口函数将协议数据发送出去了。
主要是注意两点:
一、协议数据要保持1字节对其,防止发送出去的数据报文与协议规定的不匹配。
二、注意QT5下的网络转本地与本地转网络的函数qFromBigEndian的问题。
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 安装PyQt5时缺少designer.exe的解决办法
- QTreeWidget 遍历所有子节点(QTreeWidgetItem)
- QT 定时器 QTimer 的使用方法(回调函数)
- EMQ压力测试工具emqtt-bench
- QtTabbar 2019 发布,增加标签自动排序和减重功能插件
- Hi3531A交叉编译环境配置以及编译嵌入式 Qt4.8
- Qt找到不到信号槽
- QT 出现“找不到libgcc_s_dw2-1.dll”的解决方式
- Ubuntu14.04环境下Qt5.5以上版本无法输入中文的解决教程
- QT5中利用QFTP连接登陆服务器
- QT中利用QTreeWidget显示FTP服务器中所有的文件
- QT中利用QFTP进行下载,上传和删除
- QT中在QTreeWidget中实现右键菜单功能
- QT中实现从桌面拖拽QTreeWidget上显示
- QT里实现Windows电脑三种关机方法
- QT5.5.0-msvc2013静态编译分享
- #树莓派#QT、串口环境配置
- #树莓派#使用QT实现串口信息检测与网络通信
- 学习笔记(01):C++QT5跨平台界面编程原理和实战大全-课程介绍
- 学习笔记(02):C++QT5跨平台界面编程原理和实战大全-QT5开发环境qtcreator、SDK和vs插件下载和安装...