создание пакета данных в цели C - PullRequest
1 голос
/ 27 февраля 2012

Я пытаюсь создать этот пакет данных. У меня есть 4 метода, которые я использую для создания данных, затем еще один метод, который собирается объединить их все вместе для отправки. У меня все работает хорошо, однако один из 4 методов должен рассчитать общий размер окончательного пакета ... но я не уверен, как сделать это как часть пакета и должен быть в 3-м порядке пакета (метод 1, 2, 3, 4) при отправке пакета.

поэтому мой метод конструктора пакетов выглядит следующим образом

- (void) constructRequest
{
//create data packet
    NSMutableData * myConstructedMutableDataPacket = [[NSMutableData alloc] init];

//init methods to get the required data
    NSData *protocol = [self addProtocol]; //nsdata type
    NSData *versionNum = [self addVersionNum]; //nsdata type
    NSData *size = [self addSize]; //nsdata type
    NSData *requestSig = [self addRequestSig]; //nsdata type


    [myConstructedMutableDataPacket appendData:protocol];
    [myConstructedMutableDataPacket appendData:versionNum];
   [myConstructedMutableDataPacket appendData:size]; ///but I dont have the size yet.. how do i get it?
    [myConstructedMutableDataPacket appendData:requestSig];


//print to file for testing
    [myConstructedMutableDataPacket writeToFile:@"/Users/imac/Desktop/_dataDump.dat" atomically:YES];

}

Как вы можете видеть, я не знаю мой myConstructedMutableDataPacket размер, и мне нужно добавить размер в него до его создания ... как я могу обойти это?

1 Ответ

1 голос
/ 27 февраля 2012

В конце вы можете создать временный объект NSData, состоящий из протокола, versionNu и requestSig, а затем отправить его в свой метод addSize.Затем вы можете воссоздать объект NSData, который хотите инициализировать, в правильном порядке.

...