[gelöst] Sender eines empfangenen Broadcast UDP Datagrams
Verfasst: 23. Mai 2011 21:58
Hallo zusammen,
kann ich über den QUdpSocket ermitteln, woher ein eben empfangenes Datenpaket gekommen ist, das an die Broadcast Addresse versendet wurde?
Ich gehe vor, wie im Qt Broadcast sender/receiver Example beschrieben.
Mein Receiver Socket liegt folgendermaßen auf der Lauer:
empfange die Daten nach einem readyRead() Signal dann so:
Aber wie bekomme ich jetzt raus, von welcher IP die Daten kamen?
udpSocket->peerAddress() liefert QHostAddress::Null, da keine Verbindung existiert.
Gruß, Peter
kann ich über den QUdpSocket ermitteln, woher ein eben empfangenes Datenpaket gekommen ist, das an die Broadcast Addresse versendet wurde?
Ich gehe vor, wie im Qt Broadcast sender/receiver Example beschrieben.
Mein Receiver Socket liegt folgendermaßen auf der Lauer:
Code: Alles auswählen
udpSocket->bind(10011, QUdpSocket::ShareAddress);Code: Alles auswählen
void Receiver::slot_process_datagram()
{
while (udpSocket->hasPendingDatagrams()) {
QByteArray datagram;
datagram.resize(udpSocket->pendingDatagramSize());
udpSocket->readDatagram(datagram.data(), datagram.size());
}
}
udpSocket->peerAddress() liefert QHostAddress::Null, da keine Verbindung existiert.
Gruß, Peter