0

私はiPhone開発に少し慣れていないので、このコードで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;

}

void socketCallback(CFSocketRef s、CFSocketCallBackType callbackType、CFDataRefアドレス、const void * data、void * info){

}

4

1 に答える 1

0

NSInvalidArgumentExceptionはこのエラーの奇妙なエラーメッセージであるため、エラーを追跡するのは少し困難でした。しかし、問題は、NSNetServiceをまだ解決しておらず、addresses配列が空であったことです。空のアドレス配列を使用してCFSocketCreateを呼び出すと、そのエラーが発生します。

于 2010-04-26T20:11:06.780 に答える