国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Qt 利用UDP進(jìn)行通信

這篇具有很好參考價(jià)值的文章主要介紹了Qt 利用UDP進(jìn)行通信。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一、UDP的特點(diǎn)

UDP(用戶數(shù)據(jù)報(bào)協(xié)議)是一種簡(jiǎn)單輕量級(jí)、不可靠、面向數(shù)據(jù)報(bào),無(wú)連接的傳輸層協(xié)議。而TCP/IP協(xié)議卻是有連接的

二、UDP適合應(yīng)用的幾種情況

1、網(wǎng)絡(luò)數(shù)據(jù)大多為短消息

2、擁有大量客戶端

3、對(duì)數(shù)據(jù)安全性無(wú)特殊要求

4、網(wǎng)絡(luò)負(fù)擔(dān)非常重,但對(duì)響應(yīng)速度要求高。

三、利用UDP進(jìn)行網(wǎng)絡(luò)通信

因?yàn)閡pd是無(wú)連接的,所以兩個(gè)通信設(shè)備之間不需要建立連接,只要知道對(duì)方的IP地址和端口號(hào)就行了。

我們首先創(chuàng)建一個(gè)項(xiàng)目,這個(gè)項(xiàng)目需要用到ui界面,所以我們還是使用Qtdesigner,并且還要給它布好局。

首先我們需要綁定端口號(hào),如果在同一臺(tái)電腦上測(cè)試IP地址可以不需要綁定,綁定的時(shí)候我們用到bind()函數(shù)。

CSDN?QT大綱:Qt開發(fā)必備技術(shù)棧學(xué)習(xí)路線和資料

例:

udpsocket->bind(8000);

接收數(shù)據(jù)

當(dāng)接收到數(shù)據(jù)的時(shí)候,socket會(huì)自動(dòng)觸發(fā)readyRead這個(gè)信號(hào),所以需要寫一個(gè)參函數(shù)來(lái)處理這個(gè)信號(hào),也就是讀取socket接收到的數(shù)據(jù)。

接收數(shù)據(jù)的時(shí)候我們需要用到這個(gè)一個(gè)函數(shù)

readDatagram(char *data, qint64 maxSize, QHostAddress *address = Q_NULLPTR, quint16 *port = Q_NULLPTR)

這個(gè)函數(shù)的參數(shù)的含義如下

1、將讀取的內(nèi)容存放在data中

2、讀取的長(zhǎng)度

3、對(duì)方的ip地址

4、對(duì)方的端口號(hào)

最后將讀取的內(nèi)容顯示在文本編輯框里就可以了。

發(fā)送數(shù)據(jù)

發(fā)送數(shù)據(jù)的步驟和讀取數(shù)據(jù)的步驟差不多的,首先需要獲取界面中的端口,ip地址和文本編輯框中的內(nèi)容,然后通過(guò)writeDatagram()這個(gè)函數(shù)來(lái)發(fā)送。

writeDatagram(const char *data, qint64 size, const QHostAddress &address, quint16 port)

這個(gè)函數(shù)的參數(shù)含義如下

1、需要發(fā)送的消息

2、對(duì)方的IP地址

3、對(duì)方的端口號(hào)

四、發(fā)送和接收的代碼

發(fā)送

 1 void Widget::on_pushButtonwrite_clicked()
 2 {
 3     //獲取對(duì)方的端口號(hào)和ip
 4     QString ip = ui->lineEditip->text();
 5     quint16 port = ui->lineEditport->text().toInt();
 6  
 7     //獲取文本框的內(nèi)容
 8     QString str = ui->textEdit->toPlainText();
 9  
10     //將信息發(fā)送給指定的ip
11     udpsocket->writeDatagram(str.toUtf8(), (QHostAddress)ip, port);
12 }

接收

 1 void Widget::readData()
 2 {
 3     char buf[1024] = {0};
 4     QHostAddress addr; //對(duì)方的ip
 5     quint16 port; //對(duì)方的端口
 6     qint64 len;
 7     len = udpsocket->readDatagram(buf, sizeof(buf), &addr, &port);
 8     {
 9         if(len > 0)
10         {
11             QString str = QString("[%1:%2]  %3").arg(addr.toString()).arg(port).arg(buf);
12             ui->textEdit->setText(str);
13         }
14     }
15 }

編譯運(yùn)行之后如下圖

?我這里因?yàn)樾枰獌蓚€(gè)窗口進(jìn)行通信,所以將另一個(gè)程序的端口號(hào)改成了8888。

本文福利,費(fèi)領(lǐng)取Qt開發(fā)學(xué)習(xí)資料包、技術(shù)視頻,內(nèi)容包括(C++語(yǔ)言基礎(chǔ),Qt編程入門,QT信號(hào)與槽機(jī)制,QT界面開發(fā)-圖像繪制,QT網(wǎng)絡(luò),QT數(shù)據(jù)庫(kù)編程,QT項(xiàng)目實(shí)戰(zhàn),QT嵌入式開發(fā),Quick模塊等等)↓↓↓↓↓↓見下面↓↓文章底部點(diǎn)擊費(fèi)領(lǐng)取↓↓文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-437011.html

到了這里,關(guān)于Qt 利用UDP進(jìn)行通信的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Qt 利用UDP進(jìn)行通信

    UDP(用戶數(shù)據(jù)報(bào)協(xié)議)是一種簡(jiǎn)單輕量級(jí)、不可靠、面向數(shù)據(jù)報(bào),無(wú)連接的傳輸層協(xié)議。而TCP/IP協(xié)議卻是有連接的 1、網(wǎng)絡(luò)數(shù)據(jù)大多為短消息 2、擁有大量客戶端 3、對(duì)數(shù)據(jù)安全性無(wú)特殊要求 4、網(wǎng)絡(luò)負(fù)擔(dān)非常重,但對(duì)響應(yīng)速度要求高。 因?yàn)閡pd是無(wú)連接的,所以兩個(gè)通信設(shè)備之

    2024年02月03日
    瀏覽(18)
  • 商城的TPS與并發(fā)用戶數(shù)是如何換算的?請(qǐng)編寫商城的性能測(cè)試用例?

    商城的TPS與并發(fā)用戶數(shù)的換算關(guān)系可以通過(guò)以下公式計(jì)算: TPS = 并發(fā)用戶數(shù) / 平均事務(wù)響應(yīng)時(shí)間 其中,平均事務(wù)響應(yīng)時(shí)間是指系統(tǒng)處理一個(gè)事務(wù)所需的平均時(shí)間。 下面是商城性能測(cè)試的一些用例示例: 用戶登錄: 目標(biāo):測(cè)試用戶登錄功能的性能和穩(wěn)定性。 測(cè)試步驟:模擬

    2024年02月12日
    瀏覽(27)
  • 華為余承東表示「鴻蒙 HarmonyOS 2 升級(jí)用戶數(shù)突破 1 億」,意味著谷歌已被嚇得瑟瑟發(fā)抖...

    華為余承東表示「鴻蒙 HarmonyOS 2 升級(jí)用戶數(shù)突破 1 億」,意味著谷歌已被嚇得瑟瑟發(fā)抖...

    本來(lái)全球手機(jī)市場(chǎng)有超過(guò)八成的份額為安卓占有,而蘋果占有一成多。蘋果每年的手機(jī)銷量大約在2億多部,如果鴻蒙系統(tǒng)每年增加2億用戶,那么鴻蒙系統(tǒng)就將如蘋果iOS系統(tǒng)一樣占有一成多的市場(chǎng)份額,這一成多市場(chǎng)份額正是從谷歌手里奪取的,那就代表著谷歌的安卓占有的

    2024年02月11日
    瀏覽(40)
  • 【性能測(cè)試】運(yùn)維測(cè)試01之性能測(cè)試整體認(rèn)知包括:TPS、請(qǐng)求響應(yīng)時(shí)間、事務(wù)響應(yīng)時(shí)間、并發(fā)用戶數(shù)、吞吐量、吞吐率、點(diǎn)擊率、資源使用率等性能指標(biāo)詳細(xì)介紹

    【性能測(cè)試】運(yùn)維測(cè)試01之性能測(cè)試整體認(rèn)知包括:TPS、請(qǐng)求響應(yīng)時(shí)間、事務(wù)響應(yīng)時(shí)間、并發(fā)用戶數(shù)、吞吐量、吞吐率、點(diǎn)擊率、資源使用率等性能指標(biāo)詳細(xì)介紹

    性能測(cè)試整體認(rèn)知包括:TPS、請(qǐng)求響應(yīng)時(shí)間、事務(wù)響應(yīng)時(shí)間、并發(fā)用戶數(shù)、吞吐量、吞吐率、點(diǎn)擊率、資源使用率。 1.1 需求一 1.熟悉Linux、windows等操作系統(tǒng),熟悉shell腳本; ⒉.熟悉jvm調(diào)優(yōu), tomcat調(diào)優(yōu)等基礎(chǔ)策略 3.熟悉mysq數(shù)據(jù)庫(kù),熟練掌握javascript、java、python、groovy等至少一門

    2024年02月16日
    瀏覽(25)
  • QT網(wǎng)絡(luò)通信-TCP、UDP通信

    時(shí)間記錄:2024/1/17 pro文件添加模塊network (1)創(chuàng)建TCP服務(wù)器對(duì)象 QTcpServer (2)為 QTcpServer 對(duì)象的 newConnection 信號(hào)綁定槽,用來(lái)監(jiān)聽TCP客戶端的新連接,有新的客戶端連接便會(huì)觸發(fā)此信號(hào) (3)使用 nextPendingConnection 方法獲取連接的Tcp客戶端對(duì)象 QTcpSocket (4)為 QTcpSocket 的 r

    2024年01月18日
    瀏覽(30)
  • Qt之UDP通信

    Qt之UDP通信

    目錄 一、UDP簡(jiǎn)介 二、QUdpSocket類 三、UDP服務(wù)器 四、UDP客戶端 五、代碼 1.udp服務(wù)端 2.udp客戶端 UDP(User Datagram Protocol 即用戶數(shù)據(jù)報(bào)協(xié)議)是一個(gè)輕量級(jí)的,不可靠的,面向數(shù)據(jù) 報(bào)的無(wú)連接協(xié)議 。由于 UDP 的特性:它不屬于連接型協(xié)議,因而具有資源消耗小,處理速度快的優(yōu)點(diǎn)

    2024年02月02日
    瀏覽(21)
  • QT實(shí)現(xiàn)UDP通信

    QT實(shí)現(xiàn)UDP通信

    一、UDP簡(jiǎn)介 1)UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議) UDP是一個(gè)輕量級(jí)、不可靠、面向數(shù)據(jù)報(bào)的、無(wú)連接的傳輸層協(xié)議,多用于可靠性要求不嚴(yán)格,不是非常重要的傳輸,如直播、視頻會(huì)議等等。 2)Qt中QUdpSocket類繼承自QAbstractSocket,用來(lái)發(fā)送和接收UDP數(shù)據(jù)報(bào),”Socket”即套

    2024年02月11日
    瀏覽(18)
  • Qt通信TCP/UDP

    qt socket通信,QTcpServer,QTcpSocket,QUdpSocket 鏈接2 鏈接3 鏈接4 QT中不再用套接字進(jìn)行通信,而是使用連接對(duì)

    2024年02月09日
    瀏覽(19)
  • Qt —UDP通信QUdpSocket 簡(jiǎn)介 +案例

    Qt —UDP通信QUdpSocket 簡(jiǎn)介 +案例

    ? ?UDP是無(wú)連接、不可靠、面向數(shù)據(jù)報(bào)(datagram)的協(xié)議,可以應(yīng)用于對(duì)可靠性要求不高的場(chǎng)合。與 TCP通信 不同,UDP通信無(wú)需預(yù)先建立持久的socket連接,UDP每次發(fā)送數(shù)據(jù)報(bào)都需要指定目標(biāo)地址和端口。 ? ?QUdpSocket以數(shù)據(jù)報(bào)傳輸數(shù)據(jù),而不是以連續(xù)的數(shù)據(jù)流。發(fā)送數(shù)據(jù)報(bào)使用函

    2024年02月10日
    瀏覽(18)
  • Qt 8. UDP客戶端通信

    Qt 8. UDP客戶端通信

    1. 代碼 2. 效果 以上代碼可以實(shí)現(xiàn)UDP收發(fā)功能。

    2024年02月13日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包