我正在开发一个用户登录到应用程序的 iOS 聊天应用程序。我从 GitHub XMPPFramework 下载了 XMPPFramework .我正在尝试按照 this tutorial 将 XMPP 框架与 Openfire 服务器连接起来.这是我将 XMPP 连接到 openfire 的代码。
- (BOOL)connect {
[self setupStream];
[xmppStream setHostName"192.168.1.5"];
[xmppStream setHostPort:5222];
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 isConnected])
{
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle"Error"
message:[NSString stringWithFormat"Can't connect to server %@", [error localizedDescription]]
delegate:nil
cancelButtonTitle"Ok"
otherButtonTitles:nil];
[alertView show];
return NO;
}
return YES;
}
问题是当我运行应用程序时,它显示警告无法连接到服务器 。我检查了 StackOverflow 上的许多问题并尝试使用谷歌搜索,但找不到任何相关的解决方案。如何将它连接到 Openfire 服务?如果我在我的代码中做错了什么,请建议我提供一段代码或教程来实现这一点。
Best Answer-推荐答案 strong>
许多可能性。
尝试在 xmppStreamDidConnect 和 xmppStreamDidAuthenticate 处添加断点。
如果没有达到xmppStreamDidConnect ,则连接没有建立;你必须更正你的主机名。
如果未达到 xmppStreamDidAuthenticate ,则用户未通过身份验证;您必须更正您的凭据,即用户名和/或密码。
一个常见的错误是在用户名后面省略 @domainname ,即 username@domainname ,例如keithoys@openfireserver 其中域名是 openfireserver 。
关于ios - 无法将 XMPPFramework 连接到 iOS 中的 Openfire 服务器,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/26750301/
|