我正在开发一个用户登录到应用程序的 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 服务?如果我在我的代码中做错了什么,请建议我提供一段代码或教程来实现这一点。
许多可能性。
尝试在 xmppStreamDidConnect
和 xmppStreamDidAuthenticate
处添加断点。
如果没有达到xmppStreamDidConnect
,则连接没有建立;你必须更正你的主机名。
如果未达到 xmppStreamDidAuthenticate
,则用户未通过身份验证;您必须更正您的凭据,即用户名和/或密码。
一个常见的错误是在用户名后面省略 @domainname
,即 username@domainname
,例如keithoys@openfireserver
其中域名是 openfireserver
。
关于ios - 无法将 XMPPFramework 连接到 iOS 中的 Openfire 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26750301/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |