gpt4 book ai didi

ios - XMPPFramework-无法连接到Openfire服务器

转载 作者:行者123 更新时间:2023-12-01 19:22:16 26 4
gpt4 key购买 nike

问题:我正在使用XMPPFramework和Openfire服务器创建iOS聊天应用程序。但是,我无法连接到服务器。但是,我可以使用GTalk或Facebook帐户登录。此外,我可以使用另一个Jabber客户端(例如Spark)登录到自己服务器上的帐户。

代码:我的代码基础来自以下教程: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,因此很难看到错误是什么。但是,我已经调试了该代码,并在 QueryRecordCallbackXMPPSRVResolver中发现错误。错误代码是-65554。在谷歌搜索后,我发现了这个...

kDNSServiceErr_NoSuchRecord = -65554,

但是,我仍然不确定如何解决此“NoSuchRecord”问题。
此外,在OpenFire服务器上的登录意味着我们甚至都没有进入OpenFire服务器。

最佳答案

问题可能出在您的Openfire服务器不在 public 域中。假设您的Openfire服务器在 private LAN服务器上运行,则全局DNS记录将无法指向该服务器。

如果您有权访问可公开访问的域,请尝试将Openfire服务器放在提供此IP的计算机上。

通过阅读XMPPFramework的文档,这应该不会引起问题,但是对我来说确实如此!

关于ios - XMPPFramework-无法连接到Openfire服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9741354/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com