これはQTの問題よりもUDP設定上の問題である可能性が高いと言ってこれを開始します。QT UDPソケット空のデータグラムを返す
ubuntuコンピュータでUDP再生を使用してWindows PCにPCAPファイルを再生しています。 wiresharkを使ってUDPデータをチェックすると、各パケット内のすべての関連データを見ることができます。しかし、QTプログラムを使用すると、適切な長さのパケットが届きますが、パケットの中にはデータがありません。ちょうど0です。
Windows PCのIPアドレスは、ubuntuソースPCと同じサブネット上にあるように設定されており、適切なポートが設定されています。
私はここで、基本的にQTマルチキャストレシーバの例を使用しています:http://doc.qt.io/qt-5/qtnetwork-multicastreceiver-example.html
任意の考えを?
編集:
適切なコードを含まないことをお詫び申し上げます。
void Receiver::processPendingDatagrams()
{
while (udpSocket->hasPendingDatagrams()) {
QByteArray datagram;
datagram.resize(udpSocket->pendingDatagramSize());
udpSocket->readDatagram(datagram.data(), datagram.size());
statusLabel->setText(tr("Received datagram: \"%1\"")
.arg(datagram.data()));
}
}
datagram.data()バイト配列は、パケットに実際に含まれていたものにかかわらず、単に0で埋められます。
思考?
なぜこれがダウン表示されているのかわかりません。私は正直にここでいくつかの助けが必要です。 もし私ができるなら、私はこれを少しでも外に出せます。 受信する各UDPパケットの長さは1375バイトです。私は1375バイトのデータグラムを受け取るが、内容はすべて0である。 – Stinger410
私はdownvoterではありませんが...あなたは*関連するコードを表示する必要があります - 好ましくは[mcve]。そうでなければ、それはすべてちょうど推測です。 –
フィードバックをありがとう、私は質問を更新しました。 – Stinger410