Fix processing of multiple UDP datagrams in one go

master
Michael Zanetti 2020-10-12 15:27:06 +02:00
parent 9f68b37e50
commit b4b1f663b9
1 changed files with 10 additions and 9 deletions

View File

@ -116,9 +116,8 @@ void IntegrationPluginUdpCommander::readPendingDatagrams()
while (socket->hasPendingDatagrams()) { while (socket->hasPendingDatagrams()) {
datagram.resize(socket->pendingDatagramSize()); datagram.resize(socket->pendingDatagramSize());
socket->readDatagram(datagram.data(), datagram.size(), &sender, &senderPort); socket->readDatagram(datagram.data(), datagram.size(), &sender, &senderPort);
} qCDebug(dcUdpCommander()) << "Incoming datatram" << datagram << "on" << thing->name() << "from" << sender.toString() << senderPort;
qCDebug(dcUdpCommander()) << thing->name() << "got command from" << sender.toString() << senderPort;
Event ev = Event(udpReceiverTriggeredEventTypeId, thing->id()); Event ev = Event(udpReceiverTriggeredEventTypeId, thing->id());
ParamList params; ParamList params;
params.append(Param(udpReceiverTriggeredEventDataParamTypeId, datagram)); params.append(Param(udpReceiverTriggeredEventDataParamTypeId, datagram));
@ -127,4 +126,6 @@ void IntegrationPluginUdpCommander::readPendingDatagrams()
// Send response for verification // Send response for verification
socket->writeDatagram("OK\n", sender, senderPort); socket->writeDatagram("OK\n", sender, senderPort);
}
} }