Отказ от ответственности: Я Xcode / iPhone SDK Noob.
Я пытаюсь установить соединение TCP / IP на стороне клиента с существующим сервером. После подключения я ожидаю получить некоторые данные о сервере (версия и т. Д.).
Когда мое соединение установлено, происходит событие NSStreamEventOpenCompleted
, поэтому я знаю, что соединение установлено. Затем происходит событие NSStreamEventHasBytesAvailable
, и я выполняю следующий код. Значение 71 (int) хранится в len, что я считаю правильным. Тем не менее, линия
[data appendBytes:&buffer length:len];
падает (я думаю). Фактической ошибки не выдается, но я вижу __TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION__
, хотя я явно добавил перехват ошибок:
case NSStreamEventHasBytesAvailable:
{
NSMutableData *data=[[NSMutableData alloc] init];
uint8_t *buffer[1024];
unsigned int len=0;
len=[(NSInputStream *)stream read:buffer maxLength:1024];
if(len>0){
@try{
[data appendBytes:&buffer length:len];
}
@catch(NSException *ex){
NSLog(@"Fail: %@", ex);
}
[statusLabel setText:[data stringValue]];
//[bytesRead setIntValue:[bytesRead intValue]+len];
}else{
NSLog(@"No Buffer");
}
break ;
}