Ruby 如何检测客户端是否关闭rails 4.2上的连接
我正在Rails 4.2.0上开发一个API应用程序。不知道是否有任何方法可以告诉我客户端是否在对服务器进行API调用后关闭了连接Ruby 如何检测客户端是否关闭rails 4.2上的连接,ruby,ruby-on-rails-4,Ruby,Ruby On Rails 4,我正在Rails 4.2.0上开发一个API应用程序。不知道是否有任何方法可以告诉我客户端是否在对服务器进行API调用后关闭了连接 尝试过会话和cookie,似乎它们不是为它而设计的。每个HTTP请求在完成时都会被关闭,因为HTTP请求-响应周期就是这样工作的。一旦WebSocket被标准化,只要投票不再流行,就很少有连接处于开放状态 在客户机发出呼叫后,您可以假设请求已完成,并且他们已断开连接。没有办法知道他们是否会发出额外的请求,这完全取决于客户端。对于您对实际尝试执行的操作的评论,我唯一能
尝试过会话和cookie,似乎它们不是为它而设计的。每个HTTP请求在完成时都会被关闭,因为HTTP请求-响应周期就是这样工作的。一旦WebSocket被标准化,只要投票不再流行,就很少有连接处于开放状态
在客户机发出呼叫后,您可以假设请求已完成,并且他们已断开连接。没有办法知道他们是否会发出额外的请求,这完全取决于客户端。对于您对实际尝试执行的操作的评论,我唯一能想到的方法是使用javascript,使用
onunload
。这是一个非常基本的例子
<body onunload="handleOnClose()">
<script>
function handleOnClose()
{
// send something to your backend
}
</script>
</body>
函数handleOnClose()
{
//将某些内容发送到后端
}
有关更多信息,请参见“关闭连接”是什么意思?用户不只是发出常规HTTP请求吗?例如,人们硬加载页面并关闭窗口。请求已提交到服务器并排队等待在服务器端执行。任务完成后,服务器端将返回200,但同时人们已经离开,不再有接收者。以前不知道这一点。让我试试,也许对我的案子有用。谢谢