嗨我想創建一個數據包,我想通過網絡發送到服務器,我幾乎得到的數據包排序,但缺少一個長度標識符,我需要在我的方法結束時計算並添加到數據包中。操縱nsmutabledata
包結構是這樣的
- 領先的值標識符(UINT16)
- 內容大小(UInt32的)
- 包內容(串)
目前我的方法看起來像此
- (NSMutableData *) addRegCode
{
//Supply some default string for testing
NSString *regCode = [[NSString alloc] initWithString:@"abcd1"];
//create NSData object
NSData *registrationCodeData = [regCode dataUsingEncoding:NSUTF8StringEncoding];
NSMutableData * RegistrationCodeMutableData = [[NSMutableData alloc] init]; //send this object
//create leading value
UInt16 leadingValue = 8;
NSData * leadingValueData = [[NSData alloc] initWithBytes:&leadingValue length:sizeof(leadingValue)];
//append data to mutableData
[RegistrationCodeMutableData appendData:leadingValueData];
[RegistrationCodeMutableData appendData:registrationCodeData];
return RegistrationCodeMutableData;
}
我想知道什麼是如何計算的大小registrationCodeData,然後在那裏我追加leadingValueData & registrationCodeData
我想我必須使用dataWithBytes之間添加:長度:但我米100%不知道如何使用這個
所以我有這個** NSData * registrationCodeSize = [NSData dataWithBytes:registrationCodeData length:???]; **但是,我不知道該把長度放在問號上。 – 2012-02-26 21:03:59