对我的iOS 6应用程序进行了一些更改后(没有一个实际上与网络有关),我开始遇到一个奇怪的错误,我的流事件处理程序。这在iOS 5和iOS 6上都会发生,但在iOS 5上更频繁。这个错误每50秒发生一次,我的流事件处理程序遇到NSStreamEventErrorOccurred
。错误信息如下:
Application[6370:707] Error Occured with stream [<__NSCFInputStream: 0xd622ab0>]
Application[6370:707] Stream Status: 7
Application[6370:707] Error Code: 57
Application[6370:707] Error Desc: The operation couldn’t be completed. Socket is not connected
Application[6370:707] Error Reason: Socket is not connected
Application[6370:707] Error Domain: NSPOSIXErrorDomain
发生此错误后,处理程序将遇到一对'连接重置对等'TCP错误,我认为这是由服务器发送RST数据包引起的。 是否有其他可能导致此错误的情况?我的应用程序正在连接到以AP模式广播wifi网络的硬件设备。
以下是NSStreamEventHasBytesAvailable
事件的代码。
case NSStreamEventHasBytesAvailable: {
NSLog(@"Stream has bytes available! Stream is %@", stream);
if (stream == iStream)
{
@try {
uint8_t buf[2048];
unsigned int len = 0;
len = [(NSInputStream *)stream read:buf maxLength:2048];
if(len) {
NSString *incomingData = [[NSString alloc] initWithBytes:(const void *)buf length:len encoding:NSUTF8StringEncoding];
}
} catch (NSException *e) {
NSLog(@"Caught Exception: %@",e);
}
}
break;
}
请根据需要提供信息,谢谢您的时间!