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;
-
}
为了测试方便,这里的端口号是随便定义的一个数。代码很简单,这里就不多赘述。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfcgbc
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01