1
我试图在下面的代码中使用睡眠,当NSStream连接失败或者如果有流错误并尝试在睡眠后重新连接。睡眠正在工作,但它使整个应用程序进入睡眠状态。NSThread的睡眠
我已经将NSStream作为线程启动,但是当接收到NSStreamEvent时,handleEvent似乎以同步方式工作。
对于这段代码使用睡眠的任何想法..?我只想让睡眠单独为Stream线程工作。
- (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)event
{
case NSStreamEventErrorOccurred:
{
NSError *streamErr = [stream streamError];
NSString *strErr = [streamErr localizedFailureReason];
[self CloseStream];
NSLog(@"Stream Error ::: %@",strErr);
//[NSThread sleepForTimeInterval : 15];
sleep(15);
[self Initialize];
[self OpenStream];
break;
}
case NSStreamEventEndEncountered:
{
NSLog(@"Connection Closed by the Server");
[self CloseStream];
usleep(15000);
[self Initialize];
[self OpenStream];
break;
}
}
不要忘记dispatch_release :) – jjxtra 2013-01-26 06:06:05