2010-04-23 119 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,你会得到这个错误。

相关问题