Qt网络编程-简易版UDP单播通信入门Demo(3)
生活随笔
收集整理的這篇文章主要介紹了
Qt网络编程-简易版UDP单播通信入门Demo(3)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Qt網(wǎng)絡(luò)編程-簡(jiǎn)易版UDP單播通信入門Demo(3)🦖
文章目錄
- Qt網(wǎng)絡(luò)編程-簡(jiǎn)易版UDP單播通信入門Demo(3)🦖
- 1、概述🐻
- 2、傳統(tǒng)UDP單播通信流程圖🐻???
- 3、 關(guān)鍵信號(hào)🐼
- 4、 關(guān)鍵函數(shù) 🦘
- 5、主要代碼🐧
- 6、實(shí)現(xiàn)效果🐦
- 7、源代碼🐸
| 👉個(gè)人內(nèi)容分類匯總 👈 |
| 👉Qt網(wǎng)絡(luò)編程-簡(jiǎn)易版TcpClient入門Demo(1)👈 |
| 👉Qt網(wǎng)絡(luò)編程-簡(jiǎn)易版TcpServer入門Demo(2)👈 |
| 👉Qt網(wǎng)絡(luò)編程-簡(jiǎn)易版UDP單播通信入門Demo(3)👈 |
| 👉Qt網(wǎng)絡(luò)編程-簡(jiǎn)易版UDP單播通信入門Demo(4)👈 |
| 👉Qt網(wǎng)絡(luò)編程-簡(jiǎn)易版UDP組播通信入門Demo(5)👈 |
| 👉Qt網(wǎng)絡(luò)編程-簡(jiǎn)易版UDP廣播通信入門Demo(6)👈 |
| 👉Qt網(wǎng)絡(luò)編程-TcpClient入門Demo(1)👈 |
| 👉Qt網(wǎng)絡(luò)編程-TcpServer入門Demo(2)👈 |
1、概述🐻
| 使用QUdpSocket實(shí)現(xiàn)傳統(tǒng)UDP單播通信功能,十分簡(jiǎn)易的入門Demo |
第一,絕對(duì)不意氣用事;
第二,絕對(duì)不放過任何一個(gè)注釋;
第三,絕對(duì)保證代碼的簡(jiǎn)潔明了。🤘
為了便于學(xué)習(xí),在這個(gè)Demo里會(huì)盡可能簡(jiǎn)單的實(shí)現(xiàn)UDP單播通信功能,盡可能少的引入其它功能,只保留了基本功能,所以可能會(huì)有一些bug。
QUdpSocket分別可以采用傳統(tǒng)UDP通信步驟和類TCP的UDP通信步驟兩種實(shí)現(xiàn)方式實(shí)現(xiàn)單播通信功能;
- 使用傳統(tǒng)UDP通信步驟不用綁定本地端口、目標(biāo)IP和目標(biāo)端口號(hào)就可以進(jìn)行通信,只需要在發(fā)送數(shù)據(jù)時(shí)指定目標(biāo)IP和目標(biāo)端口號(hào),步驟較為簡(jiǎn)單,用到的函數(shù)和信號(hào)比第二種方法少;
- 使用類TCP的UDP通信步驟需要使用connectToHost函數(shù)連接(綁定)目標(biāo)IP和目標(biāo)端口號(hào),步驟較為復(fù)雜,用到的函數(shù)和信號(hào)比傳統(tǒng)方法多,但是步驟、函數(shù)和TCP通信類似,便于后續(xù)復(fù)用TCP、UDP通信功能代碼;
實(shí)現(xiàn)功能:
- 使用傳統(tǒng)UDP通信步驟實(shí)現(xiàn)UDP單播通信;
- 數(shù)據(jù)接收功能;
- 數(shù)據(jù)發(fā)送功能。
2、傳統(tǒng)UDP單播通信流程圖🐻???
- UDP沒有所謂的服務(wù)器與客戶端,只需雙方綁定對(duì)方的Ip和端口號(hào)即可。
- 綁定對(duì)方IP、端口是用于發(fā)送數(shù)據(jù);
- 綁定本地端口是便于對(duì)方發(fā)送數(shù)據(jù);
- 如果沒有綁定本地端口,則會(huì)自動(dòng)分配一個(gè)端口號(hào),并不影響通信。
3、 關(guān)鍵信號(hào)🐼
| readyRead | 有可讀數(shù)據(jù)時(shí)發(fā)出此信號(hào) |
4、 關(guān)鍵函數(shù) 🦘
| state | 判斷QUdpSocket當(dāng)前狀態(tài),BoundState已綁定本地端口 |
| bind | 綁定本地IP、端口 |
| writeDatagram | 發(fā)送數(shù)據(jù)報(bào) |
| receiveDatagram | 讀取數(shù)據(jù)報(bào) |
| abort | 關(guān)閉套接字連接(解除綁定的端口號(hào)) |
5、主要代碼🐧
- 注意:在.pro文件里添加QT += network,否則編譯失敗。
- .h文件
- .cpp文件
6、實(shí)現(xiàn)效果🐦
7、源代碼🐸
gitee
github
🤞🤞🤞🤞🤞🤞🤞🤞🤞🤞🤞🤞🤞🤞🤞🤞
總結(jié)
以上是生活随笔為你收集整理的Qt网络编程-简易版UDP单播通信入门Demo(3)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mac使用brew update无反应解
- 下一篇: React开发(224):ant des