創建數據包我想創建的數據這個數據包。我有4種方法可用於創建數據,然後還有一種方法將它們組合在一起發送。 我所擁有的一切工作雖然甜蜜的4種方法一個需要計算最終的數據包的總大小..但林不知道該怎麼辦,作爲包其作用,並應該是在第3位的順序數據包(方法1,2,3,4)。目標C
所以basicly我的包構造方法看起來像這樣
- (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的大小,我需要它的創建前增加大小進去......怎麼能我明白了嗎?
你能不能只建立在年底另一NSData對象,現在你擁有的數據包的整個長度? – 2012-02-26 22:59:44
爲什麼我最終做的就是你的建議。我創建了另一個由protocol,versionNu和requestSig組成的對象,然後將它發送給我的addsize方法(我給出了一個接受nsdata的參數..然後計算大小,然後將其添加到代表我的不同nsmutabledata對象的數據包中。 – 2012-02-27 00:06:19
我將添加一個答案只是關閉的問題;) – 2012-02-27 00:29:31