如何检测客户端是否在 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
我正在 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