2016-05-25 7 views
0

は、私が唯一この構造体が含まれています件のデータが届きます知っている:QUdpSocket:構造体を受け取っていますが、どうすれば使用できますか? QUdpSocket経由

typedef struct myStruct 
    { 
     int nb_trame; 
     std::vector<bool> vBool; 
    } myStruct; 

を私は新しい件のデータを受信したとき、私はQByteArray権を受けますか? それでは、受け取ったstructをどのように使用できますか?

+0

これは、この構造がどのようにシリアライズされたかによって異なります。 – tty6

+0

@ tty6ちょうどそのように送信: 'MyStruct data; " –

答えて

0

ベクトルをエンティティシリアル化することはできません(構造体の送信方法はエンティティシリアル化と呼ばれます)。つまり、シリアル化することはできますが、このように逆シリアル化しようとすると、有効なオブジェクトが取得されません。

適切なシリアル化を実装する必要があります。

+0

私のベクトルの代わりに' bool myTab [20] 'を使用するとうまくいくでしょうか? –

+0

@BastienNicolau、エンティティシリアル化は面白いです、そしてrightfulyそうです。あなたのペットプロジェクトでは問題ありませんが、通常は本番アプリケーションには場所がありません。 – SergeyA

関連する問題