【问题标题】:XMPP over HTTP or over socketXMPP over HTTP 或 over socket
【发布时间】:2011-09-29 21:59:53
【问题描述】:

我想知道是否必须实现 XMPP 客户端,哪种连接是最好的方式,使用套接字还是 BOSH?优缺点都有什么?我假设两者都可以支持客户端与服务器位于不同的网络上?

【问题讨论】:

    标签: xmpp


    【解决方案1】:

    我认为 socket 和 bosh 之间最大的区别是 bosh 使用的是stateless(connectection closed) 与 socket 的 HTTP。这意味着您可以在使用 BOSH 时从浏览器中连接到 XMPP。我不明白你为什么要创建一个 BOSH 客户端,因为strophe.js 是一个非常好的 bosh 客户端。此外,几乎所有可用语言都有一个套接字实现。如果你问我,这就是关于 XMPP 的好想法。

    【讨论】:

      【解决方案2】:

      这当然不是所有优缺点的最终列表,而是我在尝试实现跨网络加密 Openfire 连接时遇到的那些。

      套接字 One Pro of Socket Connection:支持自动 TLS 加密。

      套接字连接的一个可能缺点:我最近了解到,如果 Openfire 服务器与连接到该服务器的客户端位于不同的网络上,那么使用套接字连接可能会成为问题,在这种情况下,连接到服务器的能力可以受连接网络防火墙和通过标准 5222 Socket 端口连接的能力的支配。

      HTTP 绑定

      Http-Bind的优点:可以通过使用标准的Http端口来缓解上述网络间连接的问题。

      Http-Bind 的一个缺点:似乎不支持自动 TLS 加密,而是依赖“旧 SSL”标准进行加密通信,许多 XMPP 库似乎不支持。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-01-24
        • 1970-01-01
        • 1970-01-01
        • 2013-09-04
        • 1970-01-01
        • 1970-01-01
        • 2011-12-16
        相关资源
        最近更新 更多