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

このエラーに続いて、ハンドラーは 'Connection Reset by Peer' TCP エラーをいくつか検出します。これは、サーバーが RST パケットを送信したことが原因であると考えられます。このエラーを引き起こす可能性のある他のシナリオはありますか? 私のアプリは、AP モードで Wi-Fi ネットワークをブロードキャストするハードウェア デバイスに接続しています。

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