【问题标题】:Realtime UI synchronization library for browsers [closed]浏览器的实时 UI 同步库 [关闭]
【发布时间】:2012-03-28 18:03:32
【问题描述】:

谁能告诉我一个开源 js 库,它可以在浏览器之间进行实时 UI 同步,而服务器之间有一个控件。

我检查了 autobahn.ws 实时 ui 同步,但它不是开源的。

它应该与所有浏览器兼容。

【问题讨论】:

  • 你为什么把这个问题标记为python
  • 有一点要记住,为了支持这一点,您很可能需要一个独立的服务器来处理这些调用。 “实时”要求很可能需要 WebSockets。您不必使用 socket.io,但您可以查看他们的网站,因为他们对流程和选项进行了很多解释。
  • 只是为了确保该库与python后端兼容..

标签: javascript python websocket


【解决方案1】:

既然您指的是 Autobahn.ws,让我简要指出几件事:

  • 实时 UI 同步非常适合 WebSocket,因为 WebSocket 不仅下游延迟非常低,而且上游延迟也非常低。特别是后者非常困难/几乎不可能使用 Comet、Ajax Push 等当前解决方法,你选择它..
  • 使用 WebSocket,您可以实现 200µs (LAN)、10ms(同一城市、几跳)、30ms(同一国家)、150-200ms(跨洋)、80-100ms (3.5G) 之间的往返时间同一国家)或 25 毫秒(LTE,同一国家)。
  • 虽然 Autobahn.ws(设备)是商业的,但底层技术(AutobahnPython、AutobahnJS、AutobahnAndroid 等)是完全开源的
  • Autobahn.ws(设备)虽然是商业的,但将有一个完全免费的版本,但同时 WebSocket 连接的数量是有限的
  • 我们网站上 UI 滑块演示的 JS 代码是 50 行。这真的是微不足道的。
  • Autobahn 支持多种桌面和移动浏览器http://autobahn.ws/browsers

免责声明:我是 Autobahn 的作者,为 Tavendo 工作。

【讨论】:

  • 感谢 oberstet。很高兴知道 autobahnjs 和 autobahnpython 是开源的。
  • 链接autobahn.ws/browsers已失效。
  • 谢谢,我们会再次提供该 URL .. 同时您可以在 tavendo.de/webmq/browsers 找到相应的列表
  • fwiw,两个链接都是 404。
【解决方案2】:
  • sails.js 是 MVC 天空上的一颗新星
  • Derby 可能就是您正在寻找的。它使用Racer,“Node.js 的实时模型同步引擎”。
  • Meteor 是另一种选择。
  • 更底层(通过使用网络套接字)是

关于比较的讨论在https://stackoverflow.com/questions/10374113/meteor-vs-derbyjshttps://stackoverflow.com/questions/11857367/socketstream-vs-derbyjs-vs-meteor 正在进行比较这三者的讨论。

只有手工制作的网络套接字解决方案才能与 Python 后端兼容。由于这个问题被问得更笼统,我还列出了包括后端在内的框架。

【讨论】:

    【解决方案3】:

    使用猿。

    http://www.ape-project.org/

    它不会为你构建你的 UI。那是你的工作。没有办法解决它。您为 Push 构建数据,然后基于该数据构建您的客户端。

    【讨论】:

    • 没关系。我会做ui。谢谢你的信息。
    • 我发现 ape 不灵活且有缺陷,可用于生产环境。如果您遇到类似问题,请参阅我的答案以获取替代方案。
    【解决方案4】:

    对于与 UI 的实时同步,您可以尝试 HTML5 功能。但是它不适用于所有浏览器,我将其发布以供您参考:

    http://dev.w3.org/html5/websockets/

    http://dev.w3.org/html5/eventsource/

    【讨论】:

      【解决方案5】:

      你会对这个答案感兴趣:https://stackoverflow.com/a/10950702/675065

      它基本上是对如何在 Python 中使用 Websockets 的总结。软件栈:

      1. SockJS(用于客户端处理)
      2. Tornado(作为 sockjs 服务器)
      3. Redis(用于 Pub/Sub)

      【讨论】:

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