娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

迅為4412開發板Qt網絡編程-UDP實現服務器和客戶端

發布者:清新生活最新更新時間:2025-04-07 來源: cnblogs關鍵字:UDP  服務器  客戶端 手機看文章 掃描二維碼
隨時隨地手機看文章

UDP 協議是開放式,無連接,不可靠的傳輸層通信協議,但它收發數據的速度相對于 TCP 快很多,常用在傳輸音視頻等數據量非常大的場合。
udp 網絡編程只需要使用一個類 QUdpSocket。

本實驗中對 QUdpSocket 的基本使用:
1.創建 QUdpSocket 對象。
2.綁定端口號
3.數據到來觸發 readyRead()信號。
4.讀取發送數據。
5.關閉。
具體步驟:
步驟一:組裝 ui 界面,和 TCP 章節搭建 UI 界面方法一致。

步驟二:編寫代碼
1.創建 QUdpSocket 對象,使用 bind 函數綁定端口號和套接字,數據報到來后會發出信 號
(),在綁定的槽函數內去讀取數據。
2.讀取數據,數據到來 hasPendingDatagrams()返回 true,再用 pendingDatagramSize()獲取數據報的長度,如果數據沒有被讀取
完,hasPendingDatagrams()就會返回 true,直至數據都被讀取完。
readDatagram(data,size);
參數 data 為讀取的數據,size 為數據長度。
3.發送數據,使用 writeDatagram 函數,
writeDatagram(const char *data, qint64 len, const QHostAddress &host, quint16 port);
Data:發送的數據。
Len:發送的數據長度。
Host:目標 IP 地址。
Port:目標端口號。
4.關閉 socket 套接字。
代碼如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

udp.h

#include

#include

namespace Ui {

class Udp;

}

class Udp : public QMainWindow

{

Q_OBJECT

public:

explicit Udp(QWidget *parent = 0); ~Udp();

QUdpSocket * udpSocket;

private slots:

void on_pushButton_clicked();

void readyRead_Slot(void);

void on_pushButton_3_clicked();

void on_pushButton_2_clicked();

private:

Ui::Udp *ui;

};

udp.cpp:

Udp::Udp(QWidget *parent) :

QMainWindow(parent), ui(new Ui::Udp)

{

ui->setupUi(this);

udpSocket = new QUdpSocket(this);

}

Udp::~Udp()

{

delete ui;

}

/*

* 打開按鈕

*/

void Udp::on_pushButton_clicked()

{

//綁定本端口的端口號

if(udpSocket->bind(ui->cliEdit->text().toUInt()) == true){

QMessageBox::information(this,'提示','成功');

}else{

QMessageBox::information(this,'提示','失敗');

}

//綁定數據信號和槽函數

connect(udpSocket,SIGNAL(readyRead()),this,SLOT(readyRead_Slot()));

}

/*

*讀取數據槽函數

*/

void Udp::readyRead_Slot()

{

QString buf;

QByteArray array;

//hasPendingDatagrams()返回 true 時表示至少有一個數據報在等待被讀取

while(udpSocket->hasPendingDatagrams()){

//獲取數據

array.resize(udpSocket->pendingDatagramSize());

udpSocket->readDatagram(array.data(),array.size());

buf = array.data();

ui->recvEdit->appendPlainText(buf);

}

}

/*

* 發送數據

*/

void Udp::on_pushButton_3_clicked()

{

quint16 port;

QString sendBuff;

QHostAddress address;

address.setAddress(ui->ipEdit->text());//目標機地址

port = ui->portEdit->text().toInt();//目標機端口號

sendBuff = ui->sendEdit->text();//發送的數據

//發送

udpSocket->writeDatagram(sendBuff.toLocal8Bit().data(),sendBuff.length(),address,port);

}

/*

*關閉

*/

void Udp::on_pushButton_2_clicked()

{

udpSocket->close();

}


關鍵字:UDP  服務器  客戶端 引用地址:迅為4412開發板Qt網絡編程-UDP實現服務器和客戶端

上一篇:迅為IMX6Q開發板AndroidStudio-calendar測試
下一篇:4412開發板Qt定時器-實驗步驟和部分代碼

推薦閱讀最新更新時間:2025-04-12 07:21

stm32以太網LWIP學習筆記之UDP通信
初始化配置步驟 第一:硬件底層DMA緩存以及以太網內存初始化 if(ETH_Mem_Malloc())return 1; //內存申請失敗 if(lwip_comm_mem_malloc())return 1; //內存申請失敗 u8 ETH_Mem_Malloc(void) { DMARxDscrTab=mymalloc(SRAMIN,ETH_RXBUFNB*sizeof(ETH_DMADESCTypeDef));//申請內存 DMATxDscrTab=mymalloc(SRAMIN,ETH_TXBUFNB*sizeof(ETH_DMADESCTypeDef));//申請內存 Rx_Buff=m
[單片機]
奧運戰火即將點燃 CNTV推出5+體育客戶端
??? 歐洲杯的熱度剛剛過去,奧運戰火又將點燃,隨著移動終端設備的發展,CNTV中國網絡電視臺作為奧運會新媒體指定唯一播出機構適時地推出了5+體育客戶端產品。該產品為用戶帶來了全新的體驗和使用感受。該產品為用戶提供了圖文、直點播視頻、高清圖等各種資訊內容。作者通過App Store下載了“5+體育”客戶端,第一時間為大家帶來產品評測體驗。 啟動模式采用高清大圖配合時效新聞的模式,提供當前體育界的有關信息,讓用戶無需進行更多操作即可掌握第一手資訊。 首屏左側九宮格閱讀定制的方式打破了視頻資訊瀏覽的傳統模式。用戶可以將自己喜愛的專題、直播、資訊等數據定制于自己的首頁面。右側信息頭圖推薦展現更多的數據內容。底部滾動條為最新消息
[手機便攜]
IMX6ULL開發板搭建Web服務器(二)
boa 拷貝到開發板的 bin 目錄下 接下來在開發板根目錄下建立 www 文件夾,如圖 80.15。 然后在開發板上面建立的 www 目錄下面建立文件夾 cgi-bin 目錄,如圖 80.16: 然后在開發的 etc 目錄下用命令 touch group 命令建立 group 文件,如圖 80.17 所示。 然后進到開發板 etc/boa目錄,使用 vi boa.conf命令打開 boa.conf文件(這里改的是開發板的 boa.conf),如下圖所示:打開 boa.conf 文件,找到”Group nogroup”,修改為”Group 0”。 找到“ErrorLog ”和“AccessLog”這兩行,指定 log 文
[單片機]
<font color='red'>迅</font><font color='red'>為</font>IMX6ULL<font color='red'>開發板</font>搭建Web<font color='red'>服務器</font>(二)
瑞薩率先推出第二代面向服務器的DDR5 MRDIMM 完整內存接口芯片組解決方案
全新多路復用寄存時鐘驅動器、多路復用數據緩沖器和PMIC,使下一代MRDIMM 速度提升至高達每秒12,800兆次傳輸,滿足AI和高性能計算應用需求 2024 年 11 月 20 日,中國北京訊 - 全球半導體解決方案供應商瑞薩電子今日宣布率先推出面向第二代DDR5多容量雙列直插式內存模塊(MRDIMM)的完整內存接口芯片組解決方案。 人工智能(AI)、高性能計算(HPC)和其它數據中心應用對內存帶寬的要求不斷提高,這就需要新的DDR5 MRDIMM。它們的運行速度高達每秒12,800兆次傳輸(MT/s);與第一代解決方案相比內存帶寬提高1.35倍。瑞薩與包括CPU和內存供應商在內的行業領導者以及終端客戶合作,在新
[嵌入式]
瑞薩率先推出第二代面向<font color='red'>服務器</font>的DDR5 MRDIMM   完整內存接口芯片組解決方案
風河公司貢獻openEuler開源社區,支持中國服務器軟件創新
全球領先的關鍵任務智能系統軟件提供商風河公司近日宣布,為更好推進開源操作系統技術的商業應用,Wind River參與openEuler開源社區,并積極參與貢獻。 在Linux內核有豐富經驗的Wind River中國Linux專業技術團隊將向openEuler社區的硬件兼容性領域貢獻力量。 風河公司資深總監-中國區業務負責人馮偉江 指出:“我們深耕Linux領域,積累了近20年的專業經驗和技能。Wind River Linux已成為業界領先的嵌入式Linux平臺,被廣泛應用于智能邊緣解決方案的構建與支持。在長久的歷史中,我們為開源軟件在各個領域的應用做出了積極貢獻。通過與openEuler的合作,我們將向開源社區貢獻Wind
[網絡通信]
128核心+16通道DDR5,飛騰新一代服務器騰云CPU問市
在今天的年度生態大會上,飛騰不僅正式發布了全新的桌面消費級處理器騰銳D2000系列,還預告了下一代數據中心處理器。 今年7月份,飛騰宣布了全新的產品線組合,其中騰云S系列面向服務器、數據中心的首發型號騰云S2500,16nm工藝制造,核心面積約400平方毫米,最多64個FTC663架構的核心,支持2-8路并行,也就是單系統可提供128-512核心配置。 主頻2.0-2.2GHz,三級緩存64MB,支持八通道DDR4內存,可提供800Gbps帶寬的四個直連接口,功耗150W。 本次大會上,長城、浪潮、同方、曙光、中興通訊等15家國內廠商也同時發布了各自基于騰云S2500的多路服務器產品群,生態建設取得可喜突破。
[嵌入式]
128核心+16通道DDR5,飛騰新一代<font color='red'>服務器</font>騰云CPU問市
解密:Arm服務器芯片陣營的進擊
對于x86架構在數據中心領域的強勢,Arm陣營一直有大寫的“不服”,將移動市場制勝的策略成功移植到服務器市場是其不變的“服務器夢”。畢竟,僅以服務器CPU為例,據預測,2020年服務器芯片市場規模將超300億美元。然而,進攻的路上道阻且長,沖鋒者如英偉達、三星、博通、高通等巨頭都相繼按下了“停止鍵”。不過,Amazon和華為相繼發布基于Arm的服務器芯片,同時Marvell(美滿)、Ampere以及國內的飛騰等還一直在持續進軍。特別是在繼Marvell推出ThunderX2大獲成功之后,最近乘勝追擊宣布推出ThunderX3,在性能方面實現大幅提升,這會進一步形成燎原之勢嗎? Marvell ThunderX系列助力云端應用創
[手機便攜]
解密:Arm<font color='red'>服務器</font>芯片陣營的進擊
高效、可靠和緊湊的eFuse優化服務器和數據中心電源設計
在設計服務器和數據中心電源時,設計人員除了需要考慮提升能效和功率密度,還要確保盡可能高的安全性和可靠性,這帶來一系列挑戰,如無安全工作區(SOA)的顧慮、和診斷及響應等功能安全等等。安森美半導體提供高效、可靠和緊湊的eFuse方案陣容,包括3 V至12 V電源范圍和即將推出的24 V、48 V eFuse,幫助設計人員解決這些挑戰。這些eFuse內置實時診斷功能、精密控制和多重保護特性,響應快,性能和可靠性優于競爭對手。 eFuse簡介、特性及目標應用 eFuse集成過流、過熱及過壓保護,提供電流檢測、故障報告、輸出開關控制、反向電流保護、對地短路保護、電池短路保護、可復位,用于任何熱插拔應用和需要限制過沖電流的系統,以
[電源管理]
高效、可靠和緊湊的eFuse優化<font color='red'>服務器</font>和數據中心電源設計
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 孟州市| 宁南县| 玉环县| 长武县| 鹿邑县| 淮滨县| 黄山市| 藁城市| 新邵县| 宁安市| 灵川县| 政和县| 彭山县| 霍城县| 长垣县| 盐源县| 靖远县| 昆山市| 安陆市| 安龙县| 巴里| 苍梧县| 桃园县| 阜城县| 遂川县| 新田县| 蒲江县| 姚安县| 镇巴县| 乡城县| 北川| 酉阳| 台湾省| 紫阳县| 大悟县| 临海市| 明溪县| 大连市| 浑源县| 酒泉市| 峨山|