Qt UDP广播
时间:2022-07-24
本文章向大家介绍Qt UDP广播,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
先导
最近有使用
QT
的UDP
广播,所以记录这篇帖子记录一下
讲解
什么是UDP
广播,我就不搬百科的内容了,就按照我的一点理解来说吧
UDP
是一种网络进程间通信的技术,一般和TCP
一起出现,UDP
的通信优势是速度快、不需要确定对方IP
地址,但是缺点是连接不可靠。而UDP
广播是UDP
下的一种通讯手段,他作为广播发送端(使用writeDatagram()
方法)时可以在当前网络下的广播地址中进行发送广播信息,而任何接收端(使用readDatagram()
方法)都能接收到服务器当前发送的广播信息
代码实例
- 只写出关键的代码,完整带图形界面的测试项目已经上传至我的github
发送端
UdpBrocastServer::UdpBrocastServer(QString msg) {
brocast_server = new QUdpSocket();
if (!msg.isEmpty()) {
brocast_server->writeDatagram(msg.toLocal8Bit(), QHostAddress::Broadcast,
10086);
} else {
qDebug() << "brocast server: msg is empty!";
}
}
接收端
UdpBrocastClient::UdpBrocastClient() {
brocast_client = new QUdpSocket();
brocast_client->bind(10086, QUdpSocket::ShareAddress);
QObject::connect(brocast_client, &QUdpSocket::readyRead, this, [=]() {
//
QByteArray datagram;
datagram.resize(brocast_client->pendingDatagramSize());
brocast_client->readDatagram(datagram.data(), datagram.size());
emit getBrocastMsg(QString(datagram));
});
}
测试
带图形界面的测试
- 看我如何通过Tor Onion在Windows中执行远程Shell
- 某租车系统JAVA代码审计
- 深入挖掘APP克隆实验
- Sickle:推荐一款优质ShellCode开发工具
- 看我教你如何修改QQ安装包实现绕过QQ语音红包验证来领红包
- “奇幻熊”(APT28)组织最新攻击
- GDB调试CVE-2018-5711 PHP-GD拒绝服务漏洞
- 高效与争议并存:大规模自动化渗透工具AutoSploit
- Android应用测试速查表
- ADB配置提权漏洞(CVE-2017-13212)原理与利用分析
- Fuzz自动化Bypass软WAF姿势
- Web黑盒渗透思路之猜想
- ZZCMS v8.2 最新版SQL注入漏洞
- 一款轻量级Web漏洞教学演示系统(DSVW)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- CentOS7连接XShell与网络配置的方法
- 如何监控 Linux 服务器状态的方法
- Linux 文件系统的操作实现
- win10系统下安装superset的步骤
- Ubuntu下使用python3中的venv创建虚拟环境
- vsftpd配置虚拟用户登录的方法
- Linux 删除特殊字符文件名或目录的方法
- 详解Linux环境变量配置全攻略
- Linux lsof命令使用详解
- Ubuntu删除多余内核的方法
- 详解Linux下crontab的使用与注意事项
- Linux内核设备驱动之Linux内核基础笔记整理
- Ubuntu18.04 Server版安装及使用(图文)
- Ubuntu18.04安装vsftpd的实现代码
- ubuntu系统theano和keras的安装方法