QUdpSocket, как я могу читать широковещательные сообщения с 192.168.0.x, пока я на 192.168.1.x

Я пытаюсь перехватить несколько тестовых широковещательных сообщений с 192.168.0.xxx, пока я нахожусь на 192.168.1.xxx
У меня есть устройство, которое отправляет широковещательные тестовые пакеты от 192.168.0.1 до 192.168.0.255.
Мое приложение находится на 192.168.1.70 и пытается получить широковещательный UDP, используя один и тот же номер порта для обоих.

У меня работает WireShark, и я вижу правильные пакеты с устройства, идущие от... 0,1 до... 0,255. Однако я не могу подобрать его по коду из...1.70.

Вот пример тестового кода, который я использую на...1.70.

 QUdpSocket *udpSocket = new QUdpSocket(this);  
 udpSocket->bind(PortValue, QUdpSocket::ShareAddress); //PortValue = 47808  
 while (1) {  
    if (udpSocket->hasPendingDatagrams()) {  
        QByteArray datagram;  
        QString Msg;  
        datagram.resize(udpSocket->pendingDatagramSize());  
        udpInSocket->readDatagram(datagram.data(), datagram.size());  
        for (uint32_t n = 0; n < datagram.count(); n++) {   
              Msg += QString::number((datagram[n] & 0xff), 16) + " ";   
        }  
        qDebug() << "Datagram: " << Msg;   
        Pause->msleep(1); //1 msec   
     }   
  }   

0 ответов

Другие вопросы по тегам