2010-04-23 2 views
0

Я немного новичок в iPhone dev, и я получаю нераспознанный селектор, когда я вызываю CFSocketConnectToAddress в этом коде. Я думаю, что это может быть что-то основное, что я делаю неправильно. Есть идеи?CFSocketConnectToAddress и непризнанный селектор, отправленный в экземпляр

Это полная ошибка, которую я получаю.

NSInvalidArgumentException непризнанный селектор послал к экземпляру 0x3922170

0x3922170 класс призвания.

- (BOOL)connect 

{ CFSocketRef mySocket = CFSocketCreate (kCFAllocatorDefault, PF_INET, SOCK_DGRAM, IPPROTO_UDP, 0, socketCallback, NULL);

@try { 
    CFDataRef data = (CFDataRef)[_netService addresses]; 
    CFSocketConnectToAddress(mySocket, data, 500); 

} 
@catch (NSException * e) { 
    NSLog([e name]); 
    NSLog([e reason]); 
} 


//char joke[] = "Why did the chicken cross the road?"; 
//CFSocketError err = CFSocketSendData(mySocket, joke, (strlen(joke)+1), 10); 
return true; 

}

недействительными socketCallback ( CFSocketRef с, CFSocketCallBackType callbackType, CFDataRef адрес, константные недействительными * Данные, недействительными * данные) {

}

+0

Вы должны предоставить полное сообщение об ошибке и, возможно, код для вашей функции socketCallback. –

+0

Я добавил эту информацию. – madmik3

ответ

0

ошибка была трудно отследить, поскольку NSInvalidArgumentException - это od d для этой ошибки. Но пошло не так, что я еще не разрешил NSNetService, и массив адресов был пуст. Если вы вызовете CFSocketCreate с пустым массивом адресов, вы получите эту ошибку.

Смежные вопросы