2010-04-23 105 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 S, CFSocketCallBackType callbackType, CFDataRef地址, 常量無效*數據, 無效*信息) {

}

+0

你應該給出完整的錯誤信息,也可能是你的socketCallback函數的代碼。 – 2010-04-23 01:31:31

+0

我添加了這些信息。 – madmik3 2010-04-23 19:07:38

回答

0

的錯誤很難跟蹤,因爲NSInvalidArgumentException是一個od d錯誤消息爲此錯誤。但是出了什麼問題,我還沒有解決NSNetService,地址數組是空的。如果你用一個空的地址數組調用CFSocketCreate,你會得到這個錯誤。

相關問題