如何创建多个 XMPP 客户端进行聊天?
Posted
技术标签:
【中文标题】如何创建多个 XMPP 客户端进行聊天?【英文标题】:How to create Multiple XMPP client's for Chatting? 【发布时间】:2012-07-31 12:17:54 【问题描述】:如何在 android 中为 Yahoo、AOL 和 Hotmail (MSN) 创建 XMPP 聊天客户端。
现在我是使用smack
库为 Gtalk 和 Facebook 创建的..
我想为 Yahoo、AOL、Hotmail 创建类似 eBuddy 的应用程序。
为 AOL、Yahoo、Hotmail 寻找 server_name
和 port number
。
我在美国在线搜索了很多,我得到了这个
SERVER_HOST = "xmpp.oscar.aol.com";
SERVER_PORT = 5222;
但没有运气..任何人都可以建议有关此 SERVER_HOST 、 SERVER_PORT 的一些详细信息。
【问题讨论】:
谁能帮我解决这个要求... 您介意发布您是如何为 facebook 做到这一点的吗?我一直在尝试,但没有成功。我现在正在调查 AOL 和 Yahoo,当我弄清楚如何做时我会发布答案。 @Peter 看看这个问题和答案,我们将获得 Facebook 聊天的解决方案。 ***.com/questions/11045241/… 你推荐接受的答案吗? 是的,它有完整的代码,请检查您的要求,如果您不清楚,请告诉我。 【参考方案1】:对于 Google Talk 和 Facebook,您可以连接标准 XMPP 客户端。以主机身份连接到 talk.google.com/chat.facebook.com,并使用您的 gmail 地址/username@chat.facebook.com 作为 Jabber ID。
要通过 XMPP 直接连接到 MSN,您需要实现其专有的 X-MESSENGER-OAUTH2 身份验证机制,如MSDN 所述。有代码示例供 smack here。
对于 AIM 和 Yahoo,我认为您只能通过安装了相应传输的另一台 XMPP 服务器进行连接,例如 pyYIMt 或 PyAIMt。
【讨论】:
pyYIMt 和 PyAIMt 这些与android无关,没有.java文件。 将此作为参考,它是一个公共问题,其他人可能会对您如何做到这一点感到好奇。关于这些传输:是的,这是服务器扩展,它们连接到本地服务器。如果这些服务不支持 XMPP,您将无法直接连接到这些服务。 在 eBuddy 应用程序中,那些没有对 MSN 客户端使用任何身份验证。只是他们像 gtalk 一样在谈论用户名和密码。对于 AIM 和 Yahoo,没有使用您的共享链接,没有关于 Serverhost 和端口号的信息.. 生活不是野餐。 AIM 早在 2008 年就对 XMPP 进行了“试验”。由于他们更换了所有者,这对今天没有任何意义。雅虎有自己的 API。也许他们将来会发布 XMPP API。因此,不幸的是,您的问题不存在。 实际上我提出这个问题是因为我没有为 AIM、Hotmail 和 Yahoo 设置好 server_name 和 port_number。但我没有在这里得到这些值。主要需要有关此 SERVER_HOST 、 SERVER_PORT 的信息。我曾在 Gtalk 和 Facebook 上使用 smack 工作正常。为剩余的客户而苦苦挣扎。以上是关于如何创建多个 XMPP 客户端进行聊天?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 JavaScript XMPP 客户端(JSXC)配置到网站?
如何创建nodejs xmpp服务器和android xmpp客户端
您如何将 XMPP 绑定会话镜像到多个选项卡或窗口,例如 facebook、okCupid 等