用QT写一个udp组播
时间: 2023-09-25 13:16:22 浏览: 95
以下是使用QT编写UDP组播的示例代码:
#include <QtNetwork>
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
// 创建UDP套接字
QUdpSocket udpSocket;
// 绑定端口
udpSocket.bind(QHostAddress::AnyIPv4, 8080, QUdpSocket::ShareAddress);
// 加入组播组
udpSocket.joinMulticastGroup(QHostAddress("224.0.0.1"));
// 发送数据
QByteArray datagram = "Hello, world!";
udpSocket.writeDatagram(datagram, QHostAddress("224.0.0.1"), 8080);
// 接收数据
while (udpSocket.hasPendingDatagrams()) {
QByteArray datagram;
datagram.resize(udpSocket.pendingDatagramSize());
QHostAddress sender;
quint16 senderPort;
udpSocket.readDatagram(datagram.data(), datagram.size(), &sender, &senderPort);
qDebug() << "Received datagram:" << datagram;
}
return app.exec();
}
此代码创建了一个UDP套接字,并绑定到本地的IP地址和端口8080上。然后,它加入了一个组播组224.0.0.1,并发送一个“Hello, world!”消息到该组播组。最后,它通过循环接收来自套接字的任何挂起的数据报。
阅读全文
相关推荐


















