如何连接到 gtalk 以外的 xmpp 服务器?

Posted

技术标签:

【中文标题】如何连接到 gtalk 以外的 xmpp 服务器?【英文标题】:How to connect to xmpp server other than gtalk? 【发布时间】:2012-10-17 05:41:06 【问题描述】:

我正在尝试创建一个 android XMPP 客户端。我已经通过连接 GTalk 成功地对其进行了测试,但现在我正在尝试连接到 Jabber 等其他免费服务器,但真的很困惑,因为连接到 GTalk 我可以简单地编写

    ConnectionConfiguration connConfig = new ConnectionConfiguration(talk.google.com, 5222, gmail.com);---

但是对于其他服务器,该过程看起来确实不同。我现在卡在哪里了?

为了尝试我注册到https://register.jabber.org/ 的其他服务器,但我认为我误解了 xmpp。

【问题讨论】:

没有人真正知道,除非您展示一些代码或分享您正在使用的 XMPP 库。 这是我的连接类代码,但我只是想知道天气我是否可以以相同的方式连接到其他服务器,我的意思是他们不提供主机名、端口和服务。跨度> XMPP 是一个标准协议,所以它应该可以工作。您确实需要知道要连接的服务器,因此您应该找出答案。或者运行您自己的测试服务器并将其用于开发。如果需要更好的答案,请再次分享更多细节。 我终于发现我的代码缺少 SSL 所以它的连接被拒绝了我在哪里可以学习如何做到这一点,或者有一个简单的例子吗? 这取决于您所说的“缺少 SSL”是什么意思。如果您缺少所需的证书,您可以将它们添加到自定义信任库。如果您缺乏 SSL 支持,您可能需要修改您的代码。 【参考方案1】:

我一直在使用 asmack here 之类的东西

【讨论】:

是的,我也在使用 asmack,这些是我的导入 import org.jivesoftware.smack.ConnectionConfiguration;导入 org.jivesoftware.smack.XMPPConnection; 我不推荐 googlecode 的 asmack,这个项目已经死了好几年了。相反,have a look at this question【参考方案2】:

Here 是 XMPP 的不同库

对于 java (android),您可以使用以下内容:

Echomine Feridian Jabber Stream Objects (JSO) Smack

【讨论】:

我没有找到任何他想为 XMPP 找到一些库的地方。

以上是关于如何连接到 gtalk 以外的 xmpp 服务器?的主要内容,如果未能解决你的问题,请参考以下文章

Gtalk OAuth 令牌连接到 Gtalk 服务

Smack 连接到 Google 的 XMPP 服务 (gtalk) 会引发异常“SASLError using PLAIN: not-authorized”

无法使用 node.js 和 node-xmpp 连接到 GTalk

如何通过 xmpp 开发 Web 客户端 gtalk

Apache Camel - 连接到 Gtalk

基于 JAXL 的聊天客户端。需要帮助连接到 Gtalk 或其他服务器以进行测试