Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 将HTTP事件(来自Rails服务器)侦听器添加到React.js客户端_Ruby On Rails_Reactjs_Websocket_Real Time - Fatal编程技术网

Ruby on rails 将HTTP事件(来自Rails服务器)侦听器添加到React.js客户端

Ruby on rails 将HTTP事件(来自Rails服务器)侦听器添加到React.js客户端,ruby-on-rails,reactjs,websocket,real-time,Ruby On Rails,Reactjs,Websocket,Real Time,我的应用程序正在Rails服务器和React客户端上运行。 我可以使用axios从React向Rails发送请求, 但我不知道如何从Rails发送请求以做出反应 当一个用户跟随另一个用户时,我想实时向另一个用户显示它 socket.io是我应该使用的东西吗? 我欢迎任何类型的建议。在web上将消息从服务器推送到客户端时,您有两个基本选项: HTTP轮询:客户端只是每隔一段时间(比如,每5秒)询问服务器是否有新消息(在您的情况下是新的追随者)。这很简单,也很有效,但涉及到很多乏味的HTTP请求。这

我的应用程序正在Rails服务器和React客户端上运行。 我可以使用
axios
从React向Rails发送请求, 但我不知道如何从Rails发送请求以做出反应

当一个用户跟随另一个用户时,我想实时向另一个用户显示它

socket.io
是我应该使用的东西吗?
我欢迎任何类型的建议。

在web上将消息从服务器推送到客户端时,您有两个基本选项:

  • HTTP轮询:客户端只是每隔一段时间(比如,每5秒)询问服务器是否有新消息(在您的情况下是新的追随者)。这很简单,也很有效,但涉及到很多乏味的HTTP请求。这种方法的一种变体是“长轮询”,在这种轮询中,服务器将连接保持打开状态一段时间,但我不建议这样做
  • Websockets:这是一种协议,浏览器通过类似套接字的连接连接到后端,允许长时间的双向通信。在Rails上,提供了一种相当简单的方法来连接WebSocket并获得所需的交互。io是另一个与Rails没有连接的选项。另一方面,像这样的托管选项可以让您在不需要任何新基础设施的情况下开始使用(为了跟踪谁在多台服务器上侦听,ActionCable需要Redis或其他分布式数据库)