Привет! Я пытаюсь создать пакет, который я хочу отправить по сети на сервер. Я отсортировал пакет, но в нем отсутствует идентификатор длины, который мне нужно вычислить в конце метода и добавить в пакет.
Структура пакета выглядит следующим образом
- идентификатор ведущего значения (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 , а затем добавить его между тем местом, куда я добавляю adingValueData & registrationCodeData
Я думаю, что должен использовать dataWithBytes: length: , но я не уверен на 100%, как использовать это