0
私はうんざりです。私は利用可能なバイトを持っていると思うオープンなNSInputStreamを持っています。バイトを読み取ると、操作は常に0を返します。私はどこでも検索しましたが、私のコードはほとんどの人が同じことをしているように見えます。これは低レベルの操作なので、どうやって間違っているのか分かりません。 私はさまざまなホストに接続することでこれを試しました。私もWiresharkを見て、ホストがバイトを受け取っているのを見ることができますが、read:maxBytesオペレーションは常に0を返します???NSInputStream読み取り:maxBytesは常に0を返します
case NSStreamEventHasBytesAvailable:
{
//Check stream status
NSString *returnedStatus;
commandLength = [commandString length];
[commandString deleteCharactersInRange:NSMakeRange(0, commandLength)];
returnedStatus = [NSString stringWithString:[self decodeStatus:[stream streamStatus]]];
[commandString appendFormat:@"inputStream %@ status=%@\n",stream, returnedStatus];
[self writeCommand:commandString];
uint8_t *buf[buffLength];
NSUInteger len = 0;
len = [(NSInputStream *)stream read:(uint8_t *)buf maxLength:buffLength];
if (len == 0) {
//len = buffLength;
[self writeCommand:@"No bytes read!\n"];
}
こんにちは、私も同じ問題に直面している... – Amitg2k12