6

在对我的 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;
}

请根据需要索取信息,谢谢您的时间!

4

0 回答 0