Changeset 11128 in ntrip for trunk/BNC/src/bncnetqueryudp.cpp
- Timestamp:
- Oct 24, 2026, 11:37:52 PM (7 days ago)
- File:
-
- 1 edited
-
trunk/BNC/src/bncnetqueryudp.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/BNC/src/bncnetqueryudp.cpp
r9961 r11128 75 75 void bncNetQueryUdp::waitForReadyRead(QByteArray& outData) { 76 76 77 // Wait Loop 78 // --------- 79 if (!_udpSocket->hasPendingDatagrams()) { 80 _eventLoop->exec(); 81 } 77 while (true) { 82 78 83 // Append Data 84 // ----------- 85 QByteArray datagram; 86 datagram.resize(_udpSocket->pendingDatagramSize()); 87 _udpSocket->readDatagram(datagram.data(), datagram.size()); 79 // Wait Loop 80 // --------- 81 if (!_udpSocket->hasPendingDatagrams()) { 82 _eventLoop->exec(); 83 if (!_udpSocket->hasPendingDatagrams()) { // stopped 84 return; 85 } 86 } 88 87 89 if (datagram.size() > 12) { 90 outData.append(datagram.mid(12)); 91 } 92 else { 93 _status = error; 88 // Append Data, only from the caster (anybody else could feed in data) 89 // ------------------------------------------------------------------- 90 QByteArray datagram; 91 QHostAddress sender; 92 datagram.resize(_udpSocket->pendingDatagramSize()); 93 _udpSocket->readDatagram(datagram.data(), datagram.size(), &sender); 94 if (!sender.isEqual(_address, QHostAddress::ConvertV4MappedToIPv4)) { 95 continue; 96 } 97 98 if (datagram.size() > 12) { 99 outData.append(datagram.mid(12)); 100 } 101 else { 102 _status = error; 103 } 104 return; 94 105 } 95 106 } … … 156 167 157 168 _udpSocket->writeDatagram(rtpbuffer, 12 + reqStr.size(), _address, _port); 169 free(rtpbuffer); 158 170 159 171 // Wait for Reply, read Session Number
Note:
See TracChangeset
for help on using the changeset viewer.
