0

8 バイト配列を IP に送信する必要があります NSMutableArray としてデータを持っています 0 から 255 までの整数値が含まれています そして、私が知る限り、それを送信する前に nsdata に変換する必要があります。

NSString *error;
NSData *data = [NSPropertyListSerialization dataFromPropertyList dataTobeSent format:NSPropertyListBinaryFormat_v1_0 errorDescription:&error];

[outputStream write:[data bytes] maxLength:[data length]];

私はこの方法を使用していますが、8バイトを超えるNSdataオブジェクトが得られます

どんな助けでも大歓迎です

4

1 に答える 1

2

NSPropertyListSerialization について間違った仮定をしました。指定した形式が何であれ、propertyListObject に戻すことができる NSData オブジェクトを構築するため、単なる生データ以上のものを取得できます。

次のようなものを作成する必要があります

uint8_t dataArray[8]; // an 8 byte array
for (NSInteger i = 0; i < 8; i++) {
    dataArray[i] = (uint8_t) [dataTobeSent[0] integerValue];
}

[outputStream write:dataArray maxLength:8];

dataTobeSent が実際に正確に 8 つの値を持つ配列であることを確認してください。そうでない場合は、コードを調整してください。

于 2015-02-13T15:00:15.413 に答える