192.168.1.xxx にいるときに、192.168.0.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
}
}