私はqt 5.3を使用しています。
読み取り用に QIODevice に大きなものを書き込んでいます。QIODeviceのデータを他の人が読み取れるように保ちながら、データを取得するためのプロキシが必要です。したがって、 readAll() を呼び出すと、プロキシですべてが適切に取得されますが、他のリーダーはデータを取得できません。
peek() を使用する必要があると思いますが、これには maxsize が必要なようです。size() または bytesAvailable() を渡そうとしましたが、実際のサイズを取得できませんでした。彼らはおそらく 3287 という奇妙な値のバッファ サイズを返します。しかし、私のデータは 1081530 バイトと巨大です。
読み取り用の QIODevice の実際のサイズを取得するにはどうすればよいですか?
編集: 上記で言及した QIODevice は、実際には QNetworkReply です。QWebView を使用してプログラムの要求と応答のデータを観察し、いくつかのフラッシュ ゲームにアクセスするためのプロキシを作成したいと考えています。QNetworkAccessManager のサブクラスの createRequest を実装しました。分析したいのは、createRequest からの応答の finished() シグナルを介してキャッチしたものです。
Edit2: この QIODevice はシーケンシャルなものであるため、サイズが不明です。しかし、データを消去せずに読み取る方法は?