Qt UDP 广播简单示例
生活随笔
收集整理的這篇文章主要介紹了
Qt UDP 广播简单示例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
用 Qt 的 UDP 來實現一個廣播示例,代碼其實非常簡單,需要用到 QUdpSocket 類,這里實現兩個工程,服務端和客戶端,由服務器端發送廣播消息到每個客戶端接收顯示。
正文
先來看看兩個示例的運行圖片
左邊是服務端,負責下發消息內容,有那是客戶端,負責顯示接收到的廣播消息。
來看看代碼:
服務端
Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);m_pUdpServer = new QUdpSocket();this->setWindowTitle("Udp server"); }Widget::~Widget() {delete ui; }void Widget::on_pushButton_clicked() {QString content = ui->textEdit->toPlainText();if(!content.isEmpty()){m_pUdpServer->writeDatagram(content.toLocal8Bit(),QHostAddress::Broadcast,9999);} }客戶端
Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this);this->setWindowTitle("Udp client");m_pUdpClient = new QUdpSocket;m_pUdpClient->bind(9999,QUdpSocket::ShareAddress);connect(m_pUdpClient,&QUdpSocket::readyRead,this,[=](){while (m_pUdpClient->hasPendingDatagrams()) {QByteArray datagram;datagram.resize(m_pUdpClient->pendingDatagramSize());m_pUdpClient->readDatagram(datagram.data(),datagram.size());ui->textEdit->insertPlainText(datagram);}}); }Widget::~Widget() {delete ui; }為了測試方便,這里的端口號是隨便定義的一個數。代碼很簡單,這里就不多贅述。
代碼下載
總結
以上是生活随笔為你收集整理的Qt UDP 广播简单示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QML WebEngineView简单用
- 下一篇: Qt 隐藏鼠标指针