以下是使用C++ QT进行UDP通信的基本步骤:
1. 创建一个QT项目并添加一个UDP套接字。
QUdpSocket *udpSocket = new QUdpSocket(this);
2. 绑定套接字到本地IP地址和端口号。
udpSocket->bind(QHostAddress::LocalHost, 1234);
3. 使用writeDatagram()函数发送UDP数据报文。
QByteArray datagram = "Hello, UDP!";
QHostAddress address("127.0.0.1");
quint16 port = 1234;
udpSocket->writeDatagram(datagram, address, port);
4. 使用readyRead()信号和readDatagram()函数接收UDP数据报文。
connect(udpSocket, &QUdpSocket::readyRead, this, &MyClass::readPendingDatagrams);
void MyClass::readPendingDatagrams()
{
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;
}
}