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

How could detect if client close the connection on rails 4.2

我正在 Rails 4.2.0 上开发 API 应用程序。想知道是否有任何方法可以判断客户端在 API 调用服务器后是否关闭了连接。

试过session和cookie,好像不是专门设计的。

每个 HTTP 请求在完成后都会被关闭,因为这就是 HTTP 请求-响应周期的工作方式。一旦 WebSocket 标准化,长轮询就过时了,因此连接挂起的情况极为罕见。

客户拨打电话后,您可以假设请求已完成并且他们已断开连接。没有办法知道他们是否会提出额外的要求,这完全取决于客户。

针对您对您实际尝试做的事情的评论,我能想到的唯一方法是通过 javascript 使用 onunload。这是一个非常基本的例子。

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

有关详细信息,请参阅 this SO question