J'essaie d'utiliser sleep dans le code ci-dessous lorsque la connexion NSStream échoue ou s'il y a une erreur de flux et tente de se reconnecter après le sommeil. Le sommeil fonctionne, mais il met l'application entière à dormir.Sleep for NSThread
J'ai démarré NSStream en tant que thread, mais lorsque le NSStreamEvent est reçu, handleEvent semble fonctionner comme une méthode synchrone.
Des idées sur l'utilisation de sommeil pour cette pièce de code ..? Je veux juste que le sommeil fonctionne pour le fil de discussion seul.
- (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;
}
}
Ne pas oublier dispatch_release :) – jjxtra