Ruby 如何检测客户端是否关闭rails 4.2上的连接

Ruby 如何检测客户端是否关闭rails 4.2上的连接,ruby,ruby-on-rails-4,Ruby,Ruby On Rails 4,我正在Rails 4.2.0上开发一个API应用程序。不知道是否有任何方法可以告诉我客户端是否在对服务器进行API调用后关闭了连接 尝试过会话和cookie,似乎它们不是为它而设计的。每个HTTP请求在完成时都会被关闭,因为HTTP请求-响应周期就是这样工作的。一旦WebSocket被标准化,只要投票不再流行,就很少有连接处于开放状态 在客户机发出呼叫后,您可以假设请求已完成,并且他们已断开连接。没有办法知道他们是否会发出额外的请求,这完全取决于客户端。对于您对实际尝试执行的操作的评论,我唯一能

我正在Rails 4.2.0上开发一个API应用程序。不知道是否有任何方法可以告诉我客户端是否在对服务器进行API调用后关闭了连接


尝试过会话和cookie,似乎它们不是为它而设计的。

每个HTTP请求在完成时都会被关闭,因为HTTP请求-响应周期就是这样工作的。一旦WebSocket被标准化,只要投票不再流行,就很少有连接处于开放状态


在客户机发出呼叫后,您可以假设请求已完成,并且他们已断开连接。没有办法知道他们是否会发出额外的请求,这完全取决于客户端。

对于您对实际尝试执行的操作的评论,我唯一能想到的方法是使用javascript,使用
onunload
。这是一个非常基本的例子

<body onunload="handleOnClose()">
  <script>
  function handleOnClose()
  {
      // send something to your backend 
  }
  </script>
</body>

函数handleOnClose()
{
//将某些内容发送到后端
}

有关更多信息,请参见“关闭连接”是什么意思?用户不只是发出常规HTTP请求吗?例如,人们硬加载页面并关闭窗口。请求已提交到服务器并排队等待在服务器端执行。任务完成后,服务器端将返回200,但同时人们已经离开,不再有接收者。以前不知道这一点。让我试试,也许对我的案子有用。谢谢