使用Websockets在{Rails应用程序'中实现自动保存

时间:2016-11-29 06:32:04

标签: ruby-on-rails websocket actioncable

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

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

  1. 打开套接字连接并每秒通过套接字发送更改。
  2. 设置一个750毫秒空闲键盘更改计时器,该计时器在用户停止输入750毫秒时发送更改。
  3. 我理解当您不想轮询以检查服务器是否有新数据时,websockets是合适的。但是,当您想要不断向服务器发送数据时它是否也适用?

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

    更新

    为了记录,我查看了Google文档,它似乎使用帖子请求而不是自动保存的websockets:

    enter image description here

    它使用约150ms的键盘空闲计时器触发,并且仅发送增量更改。

1 个答案:

答案 0 :(得分:0)

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

有两个主要优点:

每次发送数据时都不需要建立连接,这会使事情变得更快(尽管这对您的应用程序来说可能并不重要)。

您可以节省邮件大小,因为HTTP标头远大于WebSocket邮件的标头。

(有关详情,请参阅this thorough StackOverflow answer