【问题标题】:Ejabberd Packet FilteringEjabberd 包过滤
【发布时间】:2011-08-26 10:49:55
【问题描述】:

我正在尝试在 ejabberd 之上构建一个在线聊天应用程序,我正在使用 extauth,到目前为止一切正常。现在我在从不在 B 名册中的 A 用户(某种版主或其他东西)发送消息时遇到问题,但是 ejabberd 阻止了消息,因为两个用户都没有连接,我研究了 Ejabberd 的共享名册功能但它不适用于Extauth,我也尝试过滤数据包(如果数据包来自主持人而不是简单地转发它,否则进行常规处理),但它不成功(不知道如何转发数据包并停止钩子的执行)。

请帮助我如何实现此功能。

谢谢

【问题讨论】:

    标签: php erlang ejabberd


    【解决方案1】:

    为什么不互相订阅用户(通过发送订阅-订阅序列)——它可能只是暂时的。通过订阅用户,您将在名册表中创建条目,这将允许数据包传递。另外,根据您的聊天应用程序的架构,也许可以尝试 mod_muc?

    对所有数据流的良好参考:http://xmpp.org/

    【讨论】:

    • 互相订阅用户是最后的选择,但我想创建一个广播用户。
    【解决方案2】:

    虽然是旧论坛,但添加了帮助和学习的响应。 为了绕过钩子并转发消息,可能以下步骤可能会有所帮助

    • 为“filter_packet”添加更高优先级的钩子
    • 在那里进行验证
    • 通过在您正在寻找的其他挂钩上调用“运行”来转发此消息
    • 此时放下包(因为调用 'run' 的其他钩子会小心)

    【讨论】:

      猜你喜欢
      • 2016-07-17
      • 2010-12-28
      • 2012-04-14
      • 2011-01-01
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-10
      相关资源
      最近更新 更多