Merge PR #324: UDP Commander: Fix processing of multiple UDP datagrams in one go
This commit is contained in:
commit
d40efb3cac
@ -116,15 +116,16 @@ 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;
|
||||||
|
|
||||||
|
Event ev = Event(udpReceiverTriggeredEventTypeId, thing->id());
|
||||||
|
ParamList params;
|
||||||
|
params.append(Param(udpReceiverTriggeredEventDataParamTypeId, datagram));
|
||||||
|
ev.setParams(params);
|
||||||
|
emit emitEvent(ev);
|
||||||
|
|
||||||
|
// Send response for verification
|
||||||
|
socket->writeDatagram("OK\n", sender, senderPort);
|
||||||
}
|
}
|
||||||
|
|
||||||
qCDebug(dcUdpCommander()) << thing->name() << "got command from" << sender.toString() << senderPort;
|
|
||||||
Event ev = Event(udpReceiverTriggeredEventTypeId, thing->id());
|
|
||||||
ParamList params;
|
|
||||||
params.append(Param(udpReceiverTriggeredEventDataParamTypeId, datagram));
|
|
||||||
ev.setParams(params);
|
|
||||||
emit emitEvent(ev);
|
|
||||||
|
|
||||||
// Send response for verification
|
|
||||||
socket->writeDatagram("OK\n", sender, senderPort);
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user