He escrito un programa que se conecta a un servidor en una IP dada usando el protocolo NSStream descrito en la guía de programación de transmisión de Apple. La conexión y transferencia de datos funciona sin problemas, sin embargo, si el usuario especifica una dirección IP incorrecta y el programa intenta abrir las transmisiones, el programa deja de responder.iPhone: Detectando un error de conexión con NSStream
Según lo que he leído, el método handleEvent detecta errores de flujo, sin embargo, cuando verifico la condición de que eventCode == NSStreamEventErrorOccurred, nada parece suceder. Mi código de conexión es el siguiente:
NSString *hostString = ipField.text;
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)hostString, 10001, &readStream, &writeStream);
inputStream = (NSInputStream *)readStream;
outputStream = (NSOutputStream *)writeStream;
[inputStream setDelegate:self];
[outputStream setDelegate:self];
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inputStream open];
[outputStream open];
alguna idea de cómo puedo especificar un valor de tiempo de espera o permitir un botón para activar el cierre de las corrientes, si no se puede establecer una conexión?