0
我很困惑。我有一个开放的NSInputStream,它认为它有可用的字节。当我读取字节时,操作总是返回0.我到处搜索,我的代码看起来像大多数人都在做同样的事情。这是一个低级别的操作,我无法弄清楚它是如何出错的。 我已经通过连接到许多不同的主机来尝试这种方式。我也看着Wireshark,我可以看到主机接收到我写的字节,但是读取:maxBytes操作仍然总是返回0NSInputStream阅读: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