【问题标题】:How do I send data back to the server frequently - i.e. every second?如何频繁地将数据发送回服务器 - 即每秒?
【发布时间】:2016-08-28 08:48:08
【问题描述】:

我正在制作一个客户端 Javascript/WebGL 媒体播放应用程序,它将信息发送回 Rails 服务器。这将是一个观看历史记录对象,其中包含观看内容、观看时长、时间戳等内容。

该应用本身鼓励与媒体进行许多简短的互动,因此我希望每秒(甚至更频繁)都有一个新的观看历史记录条目。我的问题是在这种情况下哪种将数据发送回服务器的方法具有更好的性能?每秒一个 Post HTTP 请求还是使用 Websockets?

或者我最好缓存数据客户端并每隔几分钟一次推送所有数据?

【问题讨论】:

  • Websockets 会更好,而不是每秒进行 AJAX 调用。您可以尝试使用faye gem 来实现 websockets。

标签: javascript ruby-on-rails http websocket server


【解决方案1】:

我建议你在这种情况下使用 Websockets。如果您经常期待服务器的响应。如果您选择 Ajax 请求,最好打开与客户端的连接并保持连接处于活动状态并在服务器和客户端之间“播放”乒乓球,而不是每次都打开关闭连接。我不会在客户端中继来存储这些数据。它可能导致太多不可预测的情况。祝你好运!

【讨论】:

    【解决方案2】:

    你可以使用 websocket-rails/websocket-rails gem 来做同样的事情:

    websocket gem

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 1970-01-01
      • 2015-10-22
      • 2012-01-11
      • 2019-09-10
      相关资源
      最近更新 更多