当前位置: 首页 > news >正文

使用UDP实现发送和接收

 接收信息

void MainWindow::receiveMessages()
{QHostAddress peerAddr;quint16 peerPort;while (udpSocket->hasPendingDatagrams()) {/* udpSocket发送的数据报是 QByteArray类型的字节数组 */QByteArray datagram;/* 重新定义数组的大小 */datagram.resize(udpSocket->pendingDatagramSize());/* 读取数据,并获取发送方的 IP地址和端口 */udpSocket->readDatagram(datagram.data(), datagram.size(),  &peerAddr,  &peerPort);/* 转为字符串 */QString str = datagram.data();/* 显示信息到文本浏览框窗口 */textBrowser->append("接收来自" + peerAddr.toString() + ":" + QString::number(peerPort) + str);}
}

 单发


void MainWindow::sendMessages()
{/* 文本浏览框显示发送的信息 */textBrowser->append("发送:" + lineEdit->text());/* 要发送的信息,转为 QByteArray类型字节数组,数据一般少于 512个字节 */QByteArray data = lineEdit->text().toUtf8();/* 要发送的目标 Ip地址 */QHostAddress peerAddr = IPlist[comboBox->currentIndex()];/* 要发送的目标端口号 */quint16 peerPort = spinBox[1]->value();/* 发送消息 */udpSocket->writeDatagram(data, peerAddr, peerPort);
}

广播

void MainWindow::sendBroadcastMessages()
{/* 文本浏览框显示发送的信息 */textBrowser->append("发送:" + lineEdit->text());QByteArray data = lineEdit->text().toUtf8();/* 广播地址,一般为 255.255.255.255,* 同一网段内监听目标端口的程序都会接收到消息 */QHostAddress peerAddr = QHostAddress::Broadcast;/* 要发送的目标端口号 */quint16 peerPort = spinBox[1]->text().toInt();/* 发送消息 */udpSocket->writeDatagram(data, peerAddr, peerPort);
}


http://www.mrgr.cn/news/62930.html

相关文章:

  • Rust: 加密算法库 ring 如何用于 RSA 数字签名?
  • 论企业集成架构设计及应用
  • Leetcode21:合并两个有效链表
  • ETL集成工具丨如何运用ETLCloud单步调试断点功能
  • c加加11第一弹~
  • OpenJudge:找和为K的两个元素
  • 数据结构,问题 C: 后缀表达式
  • 《别了,浔川社团官方;你好,浔川社团官方联合会》
  • 很抽象但是好用的方法打败Vue框架第一天-Vue项目构建原神前端界面(Vue+js+html+css+jquery)
  • 搭建WIN32的开发环境
  • 高并发设计模式之ForkJoin模式
  • 客户的奇葩要求—在CAN网络的基础上加入了CAN_FD的节点
  • Redis(持续更新ing。。。)
  • 贪心算法习题其二【力扣】【算法学习day.18】
  • Rust 力扣 - 1343. 大小为 K 且平均值大于等于阈值的子数组数目
  • 博图V19的DB块,批量导入组态王
  • 如何去掉idea的Usage提示
  • 【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-9
  • 关于自动驾驶等级相关知识
  • OpenCV与AI深度学习 | 基于OpenCV和深度学习预测年龄和性别
  • “换行”与“回车”
  • 深度数据修复软件哪个好?盘点2024年好用的4个数据恢复工具。
  • Redis新数据类型
  • 科研修图Adobe全家桶access
  • ANA基因组数据库(ANAgdb)
  • 【Leetcode】单调栈