如何连接到 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 服务器?的主要内容,如果未能解决你的问题,请参考以下文章
Smack 连接到 Google 的 XMPP 服务 (gtalk) 会引发异常“SASLError using PLAIN: not-authorized”