是否有人编写了一个开源的XMPP库,它使用WebSockets并且旨在由浏览器运行?
是否有人编写了一个开源的XMPP库,它使用WebSockets并且旨在由浏览器运行?
有多种解决方案(但没有一种是完美的)
Kaazing已经支持了这个功能。它是开源的,但他们有某种双重许可证,所以最好检查一下是否可以在您的项目中使用。
APE是一个Comet框架,但他们最近开始支持Websockets。在他们的网站上(“APE作为代理”部分),他们说它可以运行包括 xmpp.js 的 js.io 库,因此结合使用可能会起作用。
它是一个基于Java的框架,类似于APE,提供一站式Comet解决方案,似乎支持XMPP和WebSockets。
Strophe通过BOSH(双向流传输)进行XMPP交互,但也有讨论支持WebSockets。
Jack Moffitt(核心开发人员和上述书籍的作者)似乎对WebSockets很感兴趣,但我们需要提供更多强有力的理由来支持WebSocket而不是BOSH。如果你有好的答案,请加入讨论。
我刚试了他们的xmpp,bosh,strophe echobot示例,效果很好。您也可以尝试一下,看它是否符合您的要求。
关于#2和#3,他们说两者都支持xmpp和websockets,但不确定它们能否一起工作。
您在考虑使用XMPP&WebSockets的应用程序是什么类型?
以下是替代建议。
我写这篇博客文章时获得了大部分以上信息。 如果您不时查看评论部分,我会在发现其他解决方案时发布更新。
在客户端能够得到充分处理之前,我们需要一种WebSockets上的XMPP标准,以供服务器实现。
第一步是完成WebSocket标准化。看起来这可能会在IETF HyBi工作组中发生,在撰写本文时,该工作组尚未获得IESG的批准。几周前,在广岛IETF会议上有一个HyBi Birds-of-a-Feather(BoF)(请参见meeting materials),进展顺利。
在WebSockets稳定后,XSF将创建一个XEP,将XMPP绑定到WebSockets,预计每个WebSocket帧都有一个xml流。
编辑:Jack Moffitt编写了一份IETF Internet-Draft,其中包含可以使用的协议的首次通过。 警告。 这仍然很可能会发生巨大变化。 只有在以后完全删除它的情况下才能实施它。 警告。
即将推出一本涵盖此主题的书...
Professional XMPP with JavaScript and jQuery alt text http://ecx.images-amazon.com/images/I/51B7VAHw8OL._SL500_AA240_.jpg
但我假设你不想等待这本书。所以观看Jack Moffitt 在 JSConf 上的演讲吧。我今天早上就看了。(Jack Moffitt 是上面链接书籍的作者)
涉及到的库(JavaScript 和 C 的实现)是Strophe。
这是一个非常有价值的探索领域,但现在还很原始。我们很快就会看到更多。WebSocket 与 HTML5 一起使用,对吗?
JSJaC 实现了 XMPP Over Websockets。它已知可以与多个后端实现配合使用:
我不确定浏览器端的JS能否独立处理WebSocket协议,因为它主要依赖于浏览器API。目前只有Chrome、Safari5和可能的Firefox4支持WebSocket。基于Flash/AS3的解决方案有很多(然后你的JS与Flash代码通信),但主要限制是Flash不支持安全连接(太糟糕了)。
顺便说一下,你可以查看this websocket implem,他们提供开源Java WebSocket客户端库,并似乎处理XMPP相关内容,如果你浏览存储库,你可能会找到基本的AS3 WebSocket实现。