XMPP + 发布订阅 + ajaxpush

Posted

技术标签:

【中文标题】XMPP + 发布订阅 + ajaxpush【英文标题】:XMPP + pubsub + ajaxpush 【发布时间】:2011-04-20 04:42:35 【问题描述】:

如果有数据库更新、群聊等,我需要实现 ajax 推送以实现实时更新。据我在网上研究后了解到,拥有彗星服务器、pubsubhubub 和一些系列的方法ajax hack 和周转,如长轮询等。

我发现使用 XMPP 由 strophe、flxhr 和 bosh 完全满足了我的要求。

我的查询:

    这是牢记速度、实时性、开源和可扩展性的最佳方法

    在尝试向 pubsub.jabber.org 发送用于创建节点的 xmpp 节时,它会发送一个回复,错误消息是找不到远程服务器。我该如何解决这个问题。

    一个听起来很愚蠢的查询 - 我使用 openfire 作为 xmpp 服务器和http://bosh.metajack.im:5280/xmpp-httpbind 的公共 bosh 服务。现在将来当我将我的网站上传到某个域上说 bigdaddy 时... bigdaddy 等是否运行 xmpp 服务器或其他要求我的网站正常运行

    如果您在 ajax 推送中有任何指向教程等的链接,请添加这些链接。

    xmpp 的未来前景如何?哪种技术在同样的情况下最流行?

【问题讨论】:

【参考方案1】:
    Strophe.js 实现 XMPP over BOSH,所以你的第一个问题归结为 Strophe.js 和(一些 XMPP server)与 flxhr 和一些 Web 服务器基础设施。我偏向于 XMPP/BOSH 解决方案(因为我生活在那个世界中),但是由于 flxhr 需要 Flash,并且 BOSH 可以在支持CORS 的way 中实现,我看不到优势。 这可能是您的服务器设置问题。您需要支持入站连接,通常在端口 5269/tcp 上,并正确设置 DNS。 XEP-220 可能会为你提供一些重要的线索。 对于生产,您应该运行自己的服务器和自己的 BOSH 服务。如果杰克愿意,他可以查看您的所有流量。 谷歌说:http://frishit.com/2010/06/setting-up-xmpp-bosh-server/ 如果您想要这样的意见,也许您应该提出一个单独的问题,但它可能会因为在 *** 上的非技术性而被关闭。也许其他 StackExchange 网站之一会更合适。

【讨论】:

以上是关于XMPP + 发布订阅 + ajaxpush的主要内容,如果未能解决你的问题,请参考以下文章

使用 Tigase 和 res_xmpp 在 Asterisk 中发布订阅

XMPP 取消订阅/订阅状态泄露隐私

如何在 NodeJS 包中构造 XMPP 的订阅消息?

XMPP - 名册订阅说明

避免 XMPP 消息“无法订阅自己”

xmpp pubsub service(XEP-0060) 收到订阅请求后能否创建节点?