【问题标题】:Creating a multi-chat client [closed]创建多聊天客户端[关闭]
【发布时间】:2011-02-01 12:42:09
【问题描述】:

如何在 Android 中为 Yahoo、Gmail、AOL 等创建 XMPP 聊天客户端,Nimbizz、eBuddy、Fring 是如何做到的?

【问题讨论】:

  • 我可以知道为什么这篇文章被否决了吗?
  • 能否为Aol和MSN Xmpp客户端提供SERVER_HOST、SERVER_PORT、SERVICE_NAME

标签: android xmpp instantmessenger


【解决方案1】:

您需要实现 IM 平台使用的每一个协议:

  1. GTALK (XMPP)
  2. Yahoo(专有协议)
  3. 美国在线(奥斯卡)

以此类推。

或者,您可以在 Android 设备上使用单一协议并使用代理 IM 服务器连接到所有帐户(我认为这是 FRING 和 EBUDDY 的做法,但不确定)。

【讨论】:

  • 是否有供应商为此提供代理服务?
  • @Ragunath Jawahar:好问题。我不知道。查看igniterealtime.org
  • @Ragunath Jawahar:我所知道的只是为他们自己的应用程序这样做。
【解决方案2】:

Pidgin IM client 有自己的libpurple,它实现了几乎所有主要的 IM 协议。他们的网站上有一些关于架构的细节和狗。

但是,基本上,除非 IM 网络已发布其协议规范,否则大多数多网络客户端必须进行逆向工程(和/或只是从 libpurple 之类的东西中获取详细信息)才能进行自己的实现。

【讨论】:

  • libpurple 是一个 C 库,有 Java 的端口吗?
  • 也许 libpurple 可以使用 Android NDK 本地编译?
【解决方案3】:

使用Smack API。它提供您所需的一切。

希望这会有所帮助。

【讨论】:

  • Think Smack 只能用于 XMPP 服务器。它不支持 OSCAR 或其他通信协议?
  • @Ragunath:我不知道那么多细节。但尝试连接到 Gmail、Yahoo 和 MSN。它成功了。
  • 太好了。能给雅虎和MSN服务器提供端口吗?
  • @Ragunath:使用 Smack API 的注册类在 yahoo 和 msn 中注册。作为网关字符串,给出 yahoo.server 和 msn.server,其中“server”是您的 XMPP 服务器。
  • 谢谢你,Harry,如有疑问,我可以回复你吗?
猜你喜欢
  • 1970-01-01
  • 2012-09-07
  • 1970-01-01
  • 2015-07-03
  • 2012-12-03
  • 2011-01-30
  • 2016-04-09
  • 2012-06-18
  • 2011-12-26
相关资源
最近更新 更多