您当前所在位置:首页>>CF活动大全

cf刷枪一键领取Qt开源作品4-网络调试助手

来源:小豪运维|发布时间:2022-11-01 13:30:28|浏览次数:20

cf rez替换助手

一、前言

网络调试助手和串口调试助手是一对的,用Qt开发项目与硬件通信绝大部分都是要么串口通信(RS232 RS485 Modbus等),要么就是网络通信(TCP UDP HTTP等),所以一旦涉及到这两方面,多多少少肯定离不开对应的调试助手协助进行程序的调试,尤其是硬件工程师,更加需要第三方的独立的调试工具来验证硬件工作是否正常,这可以大大避免扯皮的事情发生,既然第三方的工具测试下来没有问题,收发数据都正常的话,那基本上可以断定是软件的问题,此时估计软件工程师心里慌得一逼啊!

基本功能: 1. 16进制数据和ASCII数据收发。 2. 定时器自动发送。 3. 自动从配置文件加载最后一次的界面设置。 4. 自动从配置文件加载数据发送下拉框的数据。可以将经常使用的数据填写在send.txt中。 5. 可启用设备模拟回复,当收到某个数据时,模拟设备自动回复数据。对应数据格式填写在device.txt中。 6. 可对单个在线连接发送数据,也可勾选全部进行发送。 7. 支持多个客户端连接并发。 8. 采用单线程。 9. 四种模式,tcp客户端、tcp服务器、udp客户端、udp服务器。

二、代码思路

第一步:实例化对应的类tcpSocket=newQTcpSocket(this);connect(tcpSocket,SIGNAL(connected()),this,SLOT(connected()));connect(tcpSocket,SIGNAL(error(QAbstractSocket::SocketError)),this,SLOT(disconnected()));connect(tcpSocket,SIGNAL(disconnected()),this,SLOT(disconnected()));connect(tcpSocket,SIGNAL(readyRead()),this,SLOT(readData()));tcpServer=newTcpServer(this);connect(tcpServer,SIGNAL(clientConnected(QString,int)),this,SLOT(clientConnected(QString,int)));connect(tcpServer,SIGNAL(clientDisconnected(QString,int)),this,SLOT(clientDisconnected(QString,int)));connect(tcpServer,SIGNAL(sendData(QString,int,QString)),this,SLOT(sendData(QString,int,QString)));connect(tcpServer,SIGNAL(receiveData(QString,int,QString)),this,SLOT(receiveData(QString,int,QString)));udpSocket=newQUdpSocket(this);connect(udpSocket,SIGNAL(readyRead()),this,SLOT(readData()));第二步:收发数据voidfrmTcpClient::readData(){QByteArraydata=tcpSocket->readAll();if(data.length()<=0){return;}QStringbuffer;if(App::HexReceiveTcpClient){buffer=QUIHelper::byteArrayToHexStr(data);}elseif(App::AsciiTcpClient){buffer=QUIHelper::byteArrayToAsciiStr(data);}else{buffer=QString(data);}append(1,buffer);//自动回复数据,可以回复的数据是以;隔开,每行可以带多个;所以这里不需要继续判断if(App::DebugTcpClient){intcount=App::Keys.count();for(inti=0;i<count;i++){if(App::Keys.at(i)==buffer){sendData(App::Values.at(i));break;}}}}voidfrmUdpClient::readData(){QHostAddresshost;quint16port;QByteArraydata;QStringbuffer;while(udpSocket->hasPendingDatagrams()){data.resize(udpSocket->pendingDatagramSize());udpSocket->readDatagram(data.data(),data.size(),&host,&port);if(App::HexReceiveUdpClient){buffer=QUIHelper::byteArrayToHexStr(data);}elseif(App::AsciiUdpClient){buffer=QUIHelper::byteArrayToAsciiStr(data);}else{buffer=QString(data);}QStringip=host.toString();ip=ip.replace("::ffff:","");if(ip.isEmpty()){continue;}QStringstr=QString("[%1:%2] %3").arg(ip).arg(port).arg(buffer);append(1,str);if(App::DebugUdpClient){intcount=App::Keys.count();for(inti=0;i<count;i++){if(App::Keys.at(i)==buffer){sendData(ip,port,App::Values.at(i));break;}}}}}

三、效果图

四、开源主页

小苹果cf助手怎么卸载

CF一键签到助手要怎么弄

以上作品完整源码下载都在开源主页,会持续不断更新作品数量和质量,欢迎各位关注。本开源项目已经成功升级到V2.0版本,分门别类,图文并茂,保你爽到爆。Qt开源武林秘籍开发经验,看完学完,20K起薪,没有找我!国内站点:https://gitee.com/feiyangqingyun/QWidgetDemo国际站点:https://github.com/feiyangqingyun/QWidgetDemo开源秘籍:https://gitee.com/feiyangqingyun/qtkaifajingyan个人主页:https://qtchina.blog.csdn.net/知乎主页:https://www.zhihu.com/people/feiyangqingyun/

cf助手红点在哪

©版权所有 2015-2023 珍惜CF辅助 XML地图 TXT地图
友情链接: CF活动助手一键领取