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;
}
必要に応じて情報をリクエストしてください。お時間をいただきありがとうございます。