QTcpSocket 发送数据心得

在QT开发中,使用QTcpSocket进行TCP通信时,如何正确发送数组或结构体是个挑战。避免使用数据流,因为它会修改char数组的值。尝试将char数组转换为QString再利用QTcpSocket的write函数,例如write(const char *, qint64),可以有效防止数据篡改。同时,确保在写入前清空指针缓存以保证内容正确。" 102941731,8082822,在线考试破解:解除浏览器屏蔽功能技巧,"['前端开发', 'JavaScript', '浏览器', '安全', '教育技术']
摘要由CSDN通过智能技术生成

遇到不会用的函数前,最好还是看看手册QAQ,今天居然吃了这个大亏!!!
先交代一下背景:
在做TCP客户端的发送数据功能,要和服务器程序进行TCP/IP通信,且根据通信协议要发送数组或者结构体,并且数组的每一个位都是有效数据位。因此不能像大多数人一样加blockSize篡改协议内容。。

网上大多数的例子都是

    //用于暂存要发送的数据  
    QByteArray block;  
    //使用数据流写入数据  
    QDataStream out(&block,QIODevice::ReadWrite);  
    //设置数据流的版本,客户端和服务器端使用的版本要相同  
    out.setVersion(QDataStream::Qt_4_6);  

    //设置发送长度初始值为0  
    out << (quint16) 0;  
    //设置发送内容  
    out
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值