为React.js客户端添加HTTP事件(来自Rails服务器)监听器

问题描述 投票:0回答:1

我的应用程序在Rails服务器上运行,并使用React客户端,我可以通过以下方式从React向Rails发送请求。axios但我不知道如何从Rails向React发送请求。

当一个用户关注另一个用户时,我想把它实时显示给另一个用户。

是否 socket.io 我应该使用的东西吗?我欢迎任何形式的建议,我的应用程序是运行在Rails服务器和React客户端。

ruby-on-rails reactjs websocket real-time
1个回答
1
投票

在网络上从服务器向客户端推送消息时,你有两种基本的选择。

  1. HTTP轮询:客户端只需每隔一段时间询问服务器--比如说,每5秒)是否有任何新消息(新的关注者,在你的情况下)。这很简单也很有效,但涉及到很多虚无缥缈的HTTP请求。一个变种是 "长轮询",即服务器保持连接开放一段时间,但我不推荐这样做。
  2. Websockets:这是一种协议,浏览器通过类似套接字的连接连接到你的后端,允许持久的双向通信。On Rails:这是一种协议,浏览器通过类似套接字的连接连接到你的后端,从而实现长期的双向通信。行动电缆 提供了一种相当简单的方式来连接 websockets,并获得你所需要的交互。Socket.io是另一个与Rails没有联系的选项。另一方面,像 推杆 会让你在不需要任何新的基础架构的情况下就能开始使用(为了追踪谁在多个服务器上监听,ActionCable需要Redis或其他分布式数据库)。
© www.soinside.com 2019 - 2024. All rights reserved.