#include #include #include QOSCSocket::QOSCSocket(QObject *parent) : QUdpSocket(parent) { connect(this, &QUdpSocket::readyRead, [=] () { while(hasPendingDatagrams()) { QByteArray datagram; QHostAddress sender; quint16 sender_port; datagram.resize(pendingDatagramSize()); readDatagram(datagram.data(), datagram.size(), &sender, &sender_port); _packet_reader.init(datagram.data(), datagram.size()); while(_packet_reader.isOk()) { oscpkt::Message *msg; msg = _packet_reader.popMessage(); if (msg != nullptr) { emit messageReady(msg); } else { break; } } } }); } void QOSCSocket::sendMessageTo(oscpkt::Message *message, QHostAddress address, quint16 port) { _packet_writer.init().addMessage(*message); writeDatagram(_packet_writer.packetData(), _packet_writer.packetSize(), address, port); }