【问题标题】:XMPP vs. HTML5 Websocket?XMPP 与 HTML5 Websocket?
【发布时间】:2013-05-13 03:17:40
【问题描述】:

我们正在创建一个网站,我们正在尝试开发一个聊天应用程序,我们已经使用 Comet 构建了一个,但是由于速度因素我们决定在 XMPP 中制作一个。

但是,随着 HTML5 的生机勃勃以及新的 websockets 技术的存在,我们是否应该离开 XMPP 并尝试使用 Websockets 来制作?

所以我的问题是:

  1. 我可以制作一个移动应用程序并将其连接到我服务器上的 XMPP,是 有没有办法通过电话连接到基于 websockets 的聊天应用程序? ( 例如 android 的 Smack 库,是否有类似的东西 对于基于 websockets 的应用程序?

  2. 是否有备用选项说明此人是否使用旧浏览器 对于基于 websockets 的聊天应用程序?

  3. 哪种技术开销更大,哪种技术更快或更好?

另外,可以说 XMPP 是一种久经考验的技术,它仍然需要很多库对吗?比如 Strophe.js flXHR 等对吧?但是 HTML5 不是为这种类型的东西而构建的,没有任何永恒的库等吗?

问候,

【问题讨论】:

  • XMPP 是一个久经考验的真正协议。那里没有问题。极其轻量级(在一台服务器上轻松处理数千个并发用户)。使用socket.io 编写 node.js 服务器可能是另一种选择——但对我来说,这确实像是在重新发明轮子。
  • 是的,但不是为这个东西本身构建的 HTML5 websockets,而不是使用像 strophe.js 和 flXHR 等库吗?
  • 是的。我会做几个简单的例子,看看哪一个符合你的标准。
  • 谢谢.. 这将是一个非常好的帮助和洞察力。

标签: php html websocket xmpp


【解决方案1】:

XMPP 维基百科页面有一个关于 XMPP via HTTP and WebSocket transports 的部分。最后一段说:

一种可能更有效的实时消息传输方式是 WebSocket,它是一种通过单个 TCP 连接提供双向、全双工通信通道的 Web 技术。存在基于 WebSocket 的 XMPP 的实验性实现,并且在 IETF 上发布了一份(现已过期)记录该方法的 Internet 草案,但尚未标准化。

WebSocket 是一种消息传递协议,因此 XMPP 可以通过 WebSocket 实现。如果进一步采用 WebSocket 子协议,我们甚至可能会看到对此的原生支持。但在此之前,WebSocket 连接只是充当 XMPP 协议消息的低级传输。

所以,这不是“XMPP 还是 WebSocket”的问题。如果 XMPP 能很好地满足您的要求,那么我会寻找使用 WebSockets(并具有适当的 HTTP 回退)并提供 XMPP 支持的解决方案。

【讨论】:

    猜你喜欢
    • 2014-12-20
    • 1970-01-01
    • 1970-01-01
    • 2015-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    相关资源
    最近更新 更多