我正在研究一个iOS
用户登录应用程序的聊天应用程序。我已经下载了XMPPFramework
来自 GitHubXMPP框架。我正在尝试连接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;
}
问题是当我运行应用程序时,它显示警报can't connect to server
。我在 StackOverflow 上检查了很多问题,并尝试谷歌搜索,但找不到任何相关的解决方案。如何将其连接到Openfire服务器?如果我在代码中做错任何事情,请建议我使用一段代码或教程来实现这一点。
大量的可能性。
尝试添加断点xmppStreamDidConnect
and xmppStreamDidAuthenticate
.
If xmppStreamDidConnect
未到达,连接未建立;你必须纠正你的主机名。
If xmppStreamDidAuthenticate
未到达,用户未通过身份验证;您必须更正您的凭据,即用户名和/或密码。
一个常见的错误是省略@domainname
在用户名后面,即username@domainname
e.g. keithoys@openfireserver
域名在哪里openfireserver
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)