【发布时间】:2013-07-07 03:24:40
【问题描述】:
我正在尝试在 iOS 应用程序中使用 XMPPFramework 连接到远程服务器。该应用程序可以很好地连接到我在本地主机上的 openfire 服务器和我的公共 jabber 帐户。只有当我尝试连接到我大学的开发服务器时,它才不起作用,并且没有调用任何委托方法。传递给 connect 方法的 NSError 对象也没有填充任何内容。
基本上我使用以下代码进行连接:
- (BOOL)connect {
if ([xmppStream isConnected]) {
return YES;
}
[xmppStream setMyJID:jabberID];
[xmppStream setHostName:[self hostName]];
NSError* error = nil;
if (![xmppStream connect:&error]) {
NSLog(@"Couldn't connect because of error: %@", [error localizedDescription]);
return NO;
}
return YES;
}
我插入了大量日志语句,表明所有值都是正确的,正如我所说,它适用于我的另一个 JID。
我也尝试使用 IP 地址作为主机名,但没有成功。
我的另一个怀疑是,当服务器发送不受信任的证书时,连接过程会卡住,但我将它添加到 Adium 的钥匙串中,但它仍然无法正常工作。
那么问题可能是什么?我可以连接到我可用于测试的任何其他服务器,我还可以使用 Adium 连接到有问题的开发服务器,但不能在我的应用程序中使用 XMPPFramework。
【问题讨论】:
-
连接成功的是http,连接失败的是https吗?
-
类似的东西,但是 XMPP 建立在 TCP 之上,而不是 HTTP(S)。
标签: ios xmpp xmppframework