QDataStream
を使用して構造体をシリアル化し、UDPでこれを送信すると、Qtなしでデシリアライズすることは可能ですか?Qtでシリアライズ、Qtなしでデシリアライズしますか?
0
A
答えて
3
Qtライブラリを使用せずにデシリアライズする場合は、簡潔にhereで記述されているQtシリアル化フォーマットを読んで、デシリアライズコードを自分で記述する必要があります。この形式は変更される可能性が高いため、シリアライズアプリケーションでsetVersion
を使用し、受信者にシリアル化コードを実装できるバージョンを使用する必要があります。
長時間かかる可能性がありますので、浮動小数点数のシリアル化で使用されるstandard IEEE 754 formatなどのプリミティブのデシリアライズを実装すると、多くのエラーが発生する可能性があります。デバイス間でのエンディアンの違いなどがあります。 。
なぜ、車輪を再発明するのですか?受信機でQtを使いたくない場合は、共通のシリアル化フォーマットを使用できます。例えば、JSONは多くのプログラミング言語で広くサポートされており、supported in Qtです。 JSONについて何か気に入らない場合は、lots of data serialization formatsから選択してください。
関連する問題
- 1. Qtでカスタムクラスをシリアライズ
- 2. メモリストリームでシリアライズ/デシリアライズ
- 3. QtアプリケーションをQTなしでPCで実行できませんでした
- 4. Qt tcpソケットでQt GUIを変更しますか?
- 5. Qtでのシリアライズを強化する:それは適切な方法ですか?
- 6. Linux QtアプリケーションがQtライブラリでクラッシュしました
- 7. Qt 5.8でQt 5.5プロジェクトビルドエラーが発生しました
- 8. DirectXでQtを使用しますか?
- 9. プロキシクラスをシリアライズし、他のプロキシクラスでデシリアライズ
- 10. sqlalchemyからシリアライズ/デシリアライズ
- 11. charをシリアライズしてデシリアライズ
- 12. ラージオブジェクトシングルタイムのシリアライズ/デシリアライズVs小さなオブジェクトのシリアライズ/デシリアライズ複数回?
- 13. vb.net参照でシリアライズ/デシリアライズ
- 14. Qt CreatorのLinux QtプロジェクトにTagLibライブラリを追加しますか?
- 15. QtソースコードなしでQt3Dをコンパイルする
- 16. Python:datetime.timeのシリアライズ/デシリアライズ
- 17. プロトコルバッファのシリアライズ/デシリアライズ
- 18. シリアライズ/デシリアライズSystem.Uri
- 19. JOD ISODateTimeFormatシリアライズ/デシリアライズ
- 20. qtをqtクリエイターでインストールする
- 21. Windows上のQt CreatorでのQt Creatorで
- 22. QtのマクロはQtで何をするのですか
- 23. なぜこのQTアプリはSIGABRTシグナルで終了しますか?
- 24. QGraphicsSceneでQtマウスイベントが機能しない
- 25. ラムダスロットでQtトランスレータが動作しない
- 26. Qtでstrcmpが動作しない
- 27. QtでMysqlクエリが動作しない
- 28. qt [OpenGL]がアンドロイドで動作しない
- 29. os.pathはQtなしでC++で同等ですか?
- 30. QAxBase(Qt)でゲットしよう
はい。あなたが書式を知っている限り。 –
@MohamadElghawi確かに、senderAppは、UDPを介してシリアル化された構造体を送信します。私のReceiverAppは、私の構造体の.hを持ちます。 –
これで問題ありません。異なるプラットフォーム/コンパイラではデータ型が異なるサイズを持つことがあるので、サイズが保証されている型を使用する方が望ましいことに留意してください。また、送受信機のエンディアンを覚えておいてください。私は他の多くのことを忘れていますが、それを試して何が起こるかを見ています。 QDataStreamは、あなたが両側でそれを使用するように特別な何もしません。 –