データをバイト単位で送信したいのですが、受信側で同じ NSData オブジェクトを生成したいと考えています。私のデータサイズは変化し続ける可能性があります。同じオブジェクトを生成するために受信側で使用する正しい長さを定義できます。
NSDictionary *aWritableFields = @{@"Data1": @"1", @"Data2": @"2", @"Data3": @"3", @"Data4" : @"4"};
NSData *aData = [NSJSONSerialization dataWithJSONObject:aWritableFields options:0 error:nil];
uint32_t *bytes = (uint32_t *)aData.bytes;
受信側では、同じ NSData オブジェクトを構築したいと考えています。このために、次の方法を使用していますが、これにより追加情報が得られます。適切な NSData オブジェクトが得られるように、長さをどのように定義する必要がありますか。
[NSData dataWithBytes:iBytes length:sizeof(uint32_t)*24];
私が送信したデータオブジェクトは次のとおりです。
<7b225555 4944223a 2231222c 224d696e 6f72223a 2231222c 22506f77 6572223a 2233222c 224d616a 6f72223a 2232227d>
しかし、レシーバー側では、長すぎるために次のようになります。
< 7b225555 4944223a 2231222c 224d696e 6f72223a 2231222c 22506f77 6572223a 2233222c 224d616a 6f72223a 2232227d a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3 a3a3a3a3>