【问题标题】:Implementing autosave in a Rails app with Websockets使用 Websockets 在 Rails 应用程序中实现自动保存
【发布时间】:2016-11-29 06:32:04
【问题描述】:

我有一个简单的文本编辑器,并希望实现自动保存,以便任何时候对文本进行更改,它都会立即发送到服务器。

有两种方法可以做到这一点:

  1. 打开一个套接字连接并每秒通过套接字发送更改。
  2. 设置一个 750 毫秒的空闲键盘更改计时器,只要用户停止输入 750 毫秒,该计时器就会发送更改。

我知道当您不想轮询以检查服务器是否有新数据时,websockets 是合适的。但是当你想不断地向服务器发送数据时,它也适合吗?

Web 套接字上的 1 个请求/用户/秒通常比常规 http 连接上的 1 个请求/用户/秒的性能更高吗?

更新:

为了记录,我查看了 Google Docs,它似乎使用 post 请求而不是 websockets 进行自动保存:

它以大约 150 毫秒的键盘空闲计时器触发,并且只发送增量更改。

【问题讨论】:

    标签: ruby-on-rails websocket actioncable


    【解决方案1】:

    WebSocket 完全适合向服务器永久发送少量数据。

    有两个主要优点:

    您无需在每次发送数据时都建立连接,这样可以加快速度(尽管这对您的应用程序来说可能并不那么重要)。

    您可以节省消息大小,因为 HTTP 标头比 WebSocket 消息的标头大得多。

    (有关更多信息,请参阅this thorough StackOverflow answer

    【讨论】:

      猜你喜欢
      • 2017-10-16
      • 1970-01-01
      • 2013-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-01
      • 2023-03-27
      • 2010-09-05
      相关资源
      最近更新 更多