2012-03-16 12 views
1

問題:XMPPFrameworkとOpenfire Serverを使用してiOSチャットアプリケーションを作成しています。ただし、サーバーに接続できません。 I しかし、GTalkまたはFacebookアカウントでログインしてください。さらに、Sparkなどの別のJabberクライアントを使用して、自分のサーバー上のアカウントにログインできます。XMPPFramework - Openfire Serverに接続できない

コードhttp://mobile.tutsplus.com/tutorials/iphone/building-a-jabber-client-for-ios-server-setup/ここ

があり、それが接続されている:

- (void)setupStream { 
    xmppStream = [[XMPPStream alloc] init]; 
    [xmppStream addDelegate:self delegateQueue:dispatch_get_main_queue()]; 
} 

- (BOOL)connect { 
    [self setupStream]; 

    NSString *jabberID = [[NSUserDefaults standardUserDefaults] stringForKey:@"userID"]; 
    NSString *myPassword = [[NSUserDefaults standardUserDefaults] stringForKey:@"userPassword"]; 

    if (![xmppStream isDisconnected]) { 
     return YES; 
    } 

    if (jabberID == nil || myPassword == nil) { 
     return NO; 
    } 

    [xmppStream setMyJID:[XMPPJID jidWithString:jabberID]]; 
    password = myPassword; 

    NSError *error = nil; 
    if (![xmppStream connect:&error]) 
    { 
     UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error" 
                  message:[NSString stringWithFormat:@"Can't connect to server %@", [error localizedDescription]] 
                  delegate:nil 
                cancelButtonTitle:@"Ok" 
                otherButtonTitles:nil]; 
     [alertView show]; 
     [alertView release]; 

     return NO; 
    } 

    return YES; 
} 

更新3月19日:それがあったので、NSErrorが取り込まれることはありません私のコードのベースは、次のチュートリアルからですエラーが何であったかを知ることは難しい。しかし、コードを通じてデバッグしたところ、QueryRecordCallbackのエラーがXMPPSRVResolverにありました。エラーコードは-65554です。このためGoogleの後、私はこれを発見した...

kDNSServiceErr_NoSuchRecord = -65554、

はしかし、私はまだこの 'NoSuchRecord' 問題を解決する方法がわからないと思います。 さらに、OpenFire Serverのログは、OpenFire Serverに到達していないことを意味します。

答えて

3

問題はOpenfireサーバーがパブリックドメインに属していない可能性があります。 OpenfireサーバがプライベートLANサーバ上で動作していると仮定すると、グローバルDNSレコードはそれを指すことができません。

パブリックアクセス可能なドメインにアクセスできる場合は、このIPを処理するマシンにOpenfireサーバーを配置してみてください。

XMPPFrameworkのドキュメントを読んでいるので、問題はありませんが、それは私と同じでした。

関連する問題