以下是一个基本的QT UDP程序,它可以帮助您开始编写自己的UDP应用程序:
#include <QtCore/QCoreApplication>
#include <QUdpSocket>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 创建UDP套接字
QUdpSocket udpSocket;
udpSocket.bind(QHostAddress::LocalHost, 1234);
qDebug() << "UDP Server is listening on" << udpSocket.localAddress().toString()
<< ":" << udpSocket.localPort();
// 接收来自客户端的数据报
while (true) {
QByteArray datagram;
QHostAddress sender;
quint16 senderPort;
if (udpSocket.hasPendingDatagrams()) {
datagram.resize(udpSocket.pendingDatagramSize());
udpSocket.readDatagram(datagram.data(), datagram.size(), &sender, &senderPort);
qDebug() << "Received datagram from" << sender.toString() << ":" << senderPort
<< "\nMessage:" << datagram;
}
}
return a.exec();
}
这个程序创建了一个UDP套接字并将其绑定到本地主机地址和端口号。然后它进入一个无限循环,等待来自客户端的数据报。当有数据报到达时,它打印出发送方的IP地址和端口号以及消息内容。您可以在此基础上构建更复杂的UDP应用程序。