【问题标题】:ejabberd: manage adding / removing friendsejabberd:管理添加/删除朋友
【发布时间】:2012-10-22 15:28:29
【问题描述】:

非常头疼,试图让 ejabberd 集成到现有的 Rails 应用程序中以支持聊天部分。希望任何实现这一点的人都可以分享一些关于如何最好地解决目前存在问题的原因的见解。

我的目标:

1.将所有数据存储在mysql数据库中以便于备份 为此,到目前为止,我已经使用 mysql 驱动程序为 ejabberd 设置了 mysql 用法

2。轻松从彼此的花名册中添加和删除用户(添加和删除朋友连接) 为此我设置了模块 rest 和 mod_admin_extra 以便能够从 rails 应用程序对 ejabberd 进行 restfull 调用。 ejabberd 管理模块允许添加和删除用户但是(溢出:https://stackoverflow.com/a/5229902/355281)作者说它不可能在 mysql 中存储数据 Mnesia 总是被 mod_admin_extra 使用

3.暂时将用户添加到彼此的列表,或者最好有一些临时空间来添加 2 个用户,这样只要该组存在,他们就可以聊天。不知道如何处理这个

所有这些问题

  1. 好像不是所有的数据都可以存入mysql,所以Mnesia & Mysql的数据都崩溃了,很糟糕,有2个地方的数据,无法轻松备份mysql数据库
  2. 必须使用 rest 模块对数据库进行处理,这本身就很好,但我不清楚如何将 2 个用户添加到每个好友列表中。

虽然 ejabberd 似乎是最完整的开箱即用 xmpp 服务器,但我可能需要寻找另一台服务器来解决上述问题。我项目的这一部分一直很头疼,希望有人能澄清一下,提供一些关于如何处理的建议。

例如:

  • 如果 facebook 使用 ejabberd,他们是如何解决这些问题的?
  • 是否有一个干净的 ejabberd 重写来解决上述问题?或许是一个商业 xmpp 服务器,具有不错的 api 以及在 1 个中心位置添加/删除用户和存储数据的方法?

【问题讨论】:

    标签: ruby-on-rails ejabberd


    【解决方案1】:

    由于您已经在使用 MySQL,您可以直接使用 Rails/MySQL 管理名册。 如果您不想直接在数据库中执行此操作,这是完全可以理解的,您可以通过 bosh (http://xmpp.org/extensions/xep-0206.html) 连接到服务器,在那里您可以完成您所要求的一切。有一个 JS bosh 客户端可以用作在 Rails 中实现它的指南,它被称为 http://strophe.im/ 关于在两个地方拥有数据,您应该拥有(或能够拥有)MySQL 中的所有名册特定表,此外,您可以将几乎所有持久性数据配置为在 mysql 上,我需要了解更多关于您的具体问题和配置,以便能够对此进行更多详细说明。 eJabberd 具有高度可配置性和可扩展性,根据我的经验(使用 eJabberd 超过 8 年),您基本上可以通过一种或另一种方式实现任何类型的行为。

    【讨论】:

    • 你好!我正在为大多数模块设置一个带有 LDAP 身份验证和 MySQL 的 xmpp 服务器 (mongooseIm)。如果我直接在数据库上添加花名册......用户将立即同步,或者是否需要做其他任何事情来“查看”客户端上的这些更改?谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2012-10-29
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    相关资源
    最近更新 更多