(相關資料圖)
上一篇文章已經打通了數據源之一的串口采集,這次要說的是網絡采集,網絡通信目前用的最多的是三種,TCP/UDP/HTTP,其中tcp通信又包括了客戶端服務端兩種,tcp通信才用了多次握手機制不丟包,但是耗費資源多而且需要建立連接。udp通信在大數據量或者網絡不穩定的情況下,可能丟包,而且順序無法保證,但是一個包的數據肯定是正確的,由于占用資源極少而且不需要建立連接,在很多場景中應用也蠻多,我個人用udp以來,也沒發現過丟包的情況,可能數據量不夠大或者是在局域網內的原因吧,反正用起來還是蠻爽的。http通信目前非常流行,尤其是和服務器之間做數據交互,基本上post請求然后返回一串json數據,解析對應的json數據即可。本次采用的TCP通信作為示例,其他兩種可以自行拓展,也很簡單的。
體驗地址:https://gitee.com/feiyangqingyun/QUCSDK https://github.com/feiyangqingyun/qucsdk
void frmData::initServer(){ //實例化串口類,綁定信號槽 com = new QextSerialPort(QextSerialPort::EventDriven, this); connect(com, SIGNAL(readyRead()), this, SLOT(readDataCom())); //實例化網絡通信客戶端類,綁定信號槽 tcpClient = new QTcpSocket(this); connect(tcpClient, SIGNAL(readyRead()), this, SLOT(readDataClient())); //實例化網絡通信服務端類,綁定信號槽 tcpSocket = NULL; tcpServer = new QTcpServer(this); connect(tcpServer, SIGNAL(newConnection()), this, SLOT(newConnection())); //開啟定時器讀取數據庫采集數據 timer = new QTimer(this); connect(timer, SIGNAL(timeout()), this, SLOT(readDataDb())); timer->setInterval(1000);}void frmData::on_btnOpenTcpClient_clicked(){ if (ui->btnOpenTcpClient->text() == "連接") { tcpClient->connectToHost(App::TcpServerIP, App::TcpServerPort); bool ok = tcpClient->waitForConnected(1000); if (ok) { setEnable(ui->btnOpenTcpClient, false); ui->btnOpenTcpClient->setText("斷開"); } } else { tcpClient->disconnectFromHost(); setEnable(ui->btnOpenTcpClient, true); ui->btnOpenTcpClient->setText("連接"); }}void frmData::on_btnOpenTcpServer_clicked(){ if (ui->btnOpenTcpServer->text() == "監聽") {#if (QT_VERSION >QT_VERSION_CHECK(5,0,0)) bool ok = tcpServer->listen(QHostAddress::AnyIPv4, App::TcpListenPort);#else bool ok = tcpServer->listen(QHostAddress::Any, App::TcpListenPort);#endif if (ok) { setEnable(ui->btnOpenTcpServer, false); ui->btnOpenTcpServer->setText("停止"); } } else { if (tcpSocket != NULL) { tcpSocket->disconnectFromHost(); } tcpSocket = NULL; tcpServer->close(); setEnable(ui->btnOpenTcpServer, true); ui->btnOpenTcpServer->setText("監聽"); }}void frmData::readDataClient(){ QByteArray data = tcpClient->readAll(); if (data.length() <= 0) { return; } //默認取第一個字節解析,可以自行更改 quint8 value = data.at(0); ui->txtValue->setText(QString::number(value)); append(3, data.toHex());}void frmData::readDataServer(){ QByteArray data = tcpSocket->readAll(); if (data.length() <= 0) { return; } //默認取第一個字節解析,可以自行更改 quint8 value = data.at(0); ui->txtValue->setText(QString::number(value)); append(3, data.toHex());}void frmData::newConnection(){ while(tcpServer->hasPendingConnections()) { if (tcpSocket != NULL) { tcpSocket->disconnectFromHost(); } tcpSocket = tcpServer->nextPendingConnection(); connect(tcpSocket, SIGNAL(readyRead()), this, SLOT(readDataServer())); }}【領 QT開發教程 學習資料, 點擊下方鏈接莬費領取↓↓ ,先碼住不迷路~】
點擊這里:
免責聲明:本文不構成任何商業建議,投資有風險,選擇需謹慎!本站發布的圖文一切為分享交流,傳播正能量,此文不保證數據的準確性,內容僅供參考
關鍵詞:
Qt編寫控件屬性設計器-網絡采集
一、前言上一篇文章已經打通了數據源之一的串口采集,這次要說的是網絡采集,網絡通信目前用的最多的是三種,TCP UDP HTTP,其中tcp通信又包括
車輛通行費屬于什么發票_車輛通行費應該計入什么科目-環球微動態
1、你好,一般的,企業會計是將“車輛的通行費、市內打車費、市內停車費”歸屬入“交通費”明細科目!至于大類科目是歸入“管理
科華生物:公司產品獲得醫療器械注冊證-焦點熱議
證券時報e公司訊,科華生物(002022)4月5日晚間公告,近日,公司收到上海市藥監局頒發的《醫療器械注冊證》(體外診斷
青椒肉絲面的做法好吃簡單_青椒肉絲面的做法-當前報道
1、將雞肉或豬肉洗凈,切絲備用。我用的是這里超市買的熟雞肉。2、選擇新鮮青椒(大小適中),洗凈,切成粗絲備用。將雞蛋放入
數枚火箭彈從加沙地帶向以色列發射
數枚火箭彈從加沙地帶向以色列發射,央視,火箭彈,以色列,加沙地帶
日本原子能規制委員會再次中斷敦賀核電站2號機組重啟申請
據日本共同社4月5日報道,日本原子能規制委員會當天決定再次中斷日本原子能發電公司就福井縣敦賀核電站2號機組重新啟動的申請。報道稱,...
網易云音樂推出首個面向大眾樂商測試體系-世界熱點
進一步豐富用戶的音樂消費體驗。 ">
一個清血管食療方,喝上一個月,高血壓高血脂脂肪肝都沒了-環球熱消息
給大家介紹了一種治療動脈粥樣硬化的方法,尤其適用于那些大魚大肉的人,對三高有很好的治療作用,最重要的是,它所用的材料都是普通人...
深圳加大保障性住房建設籌集力度
Newresidentscaninjectnewvitalityandenergyintointocitydevelopment In
蕪湖市延安小學官網_延安小學網上報名網址
1、具體報名方式可以去報名點預約咨詢啊網上不行。本文分享完畢,希望對大家有所幫助。
詩意微動畫|古人這場清明雅事流行了上千年
“萬物生長此時皆清潔而明凈故謂之...
英雄之光丨沈陽抗美援朝烈士陵園:松柏吐新翠 春風寄哀思-天天新資訊
和風送暖,萬里春暉,又是一年清明...
如果清明有顏色,是什么顏色?-世界最資訊
清明的顏色是什么?你會選“清明時...
亞行調高中國經濟增長預期-獨家
亞洲開發銀行(亞行)4日發布的《2...
外媒:中國的世界秩序觀更具吸引力
世界報業辛迪加網站3月30日發表題...
英雄之光丨緬懷英烈 銘記廣州紅色印記-今日快訊
小紅樓里誕生了廣東首個黨支部,起...
英雄之光丨致敬“獨膽英雄” 傳承青春力量-當前快看
在天津市濱海新區塘沽烈士陵園內,...
英雄之光|你曾守護的山河,如今萬里錦繡-天天新資訊
在風雨如晦的年代,是革命先輩高擎...
英雄之光|請轉發,幫這些山西籍烈士尋親!-世界報資訊
隨著清明節的臨近,河北、黑龍江等...
各部門統籌做好清明時節運輸服務和安全管理工作-世界百事通
春回日暖,草木生發。清明時節,旅...
緬懷!你若記得,航空烈士便無悔……-當前獨家
生命最盛放的年華如何選擇未來有這...
英雄之光|清明祭英烈,上海76處烈士紀念設施共同緬懷英雄
上午9時,莊嚴的國歌聲在龍華烈士...
清明節:我記得,你就不曾離開-今日熱訊
清明節,有點怕下雨,有點怕回憶,...
英雄之光丨中國有多少條以英雄的名字命名的道路
你注意過那些以人名命名的道路嗎?...
英雄之光丨銘記挺身而出的藏藍-天天時快訊
一年一清明,一歲一相思。現在回想...
一個清血管食療方,喝上一個月,高血壓高血脂脂肪肝都沒了-環球熱消息
給大家介紹了一種治療動脈粥樣硬化...
深圳加大保障性住房建設籌集力度
Newresidentscaninjectnewvitality...
蕪湖市延安小學官網_延安小學網上報名網址
1、具體報名方式可以去報名點預約...
今日辟謠(2023年4月4日)
2023年4月4日謠言:網傳青海沙柳河...