0

サーバーからのすべてのデータが NSOutputstream に書き込まれるまで、継続的にストリームにデータを書き込み、ストリームを解析する方法

      NSLog(@"Response %@",[[NSString alloc] initWithData:self.m_cWebData encoding:NSUTF8StringEncoding]);
     NSUInteger written = [oStream write:(const uint8_t *)[self.m_cWebData bytes] maxLength:[self.m_cWebData length]];
     NSLog(@"Rcvd Data=%d written = %d",[self.m_cWebData length],written);
     [self.m_cWebData replaceBytesInRange:NSMakeRange(0,written) withBytes:"" length:0];
     NSLog(@"Rcvd Data after Reset =%d ",[self.m_cWebData length]);

また、解析を開始していますが、Stream:handleEvent がストリーム イベントに対して呼び出されていません。サーバーの応答データの合計がストリームによって取得されず、ストリームに書き込むデータがさらにある場合に、データをストリームに書き込む方法.Howこのケースを処理します。

4

1 に答える 1

0
do {
    bytesWritten = [oStream write:(const uint8_t *)[self.m_cWebData bytes] maxLength:dataLength - bytesWrittenSoFar];

    NSLog(@"Rcvd Data=%d written = %d",[self.m_cWebData length],bytesWritten);
    [self.m_cWebData replaceBytesInRange:NSMakeRange(0,bytesWritten) withBytes:"" length:0];

    NSLog(@"Rcvd Data after Reset =%d ",[self.m_cWebData length]);
    assert(bytesWritten != 0);
    if (bytesWritten == -1) {

    } else {
       bytesWrittenSoFar += bytesWritten;
    }
} while (bytesWrittenSoFar != dataLength);
于 2013-02-07T04:43:24.300 に答える