私はtcpソケットから生データとして(私は指定されたフォーマットを持っています)データを持っていて、そのデータに基づいてオブジェクトを作成します。フォーマットは次のようになります: ヘッダー[データのサイズとその他の情報]の24バイト、その後ヘッダーに指定されたデータの量です。QDataStreamを使った生データの逆シリアル化
私はオブジェクトとして読みたいと思っています(オブジェクトには、データが配置される動的サイズのデータ用のバッファがあります)。何らかの形でQDataStreamをオーバーライドすることは可能ですか、それをエレガントにラップするために何か他の方法ですか?私はトランザクションメソッドを利用して、データのパケット全体を読み込み、断片化していれば組み立てることはしません(ヘッダーの半分、または完全なデータ量ではありません)。
だから、基本的に私はこのようなSTHをしたいと思う:
Event event; // my custom class
QDataStream dataStream(tcpSocket);
dataStream >> event;
dataStream.commit();