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