如何检测机器是不是空闲,15 秒内没有来自服务器的值?
Posted
技术标签:
【中文标题】如何检测机器是不是空闲,15 秒内没有来自服务器的值?【英文标题】:How to detect if the machine is idle, no values coming from the server for 15s?如何检测机器是否空闲,15 秒内没有来自服务器的值? 【发布时间】:2019-01-29 05:09:22 【问题描述】:我有 websocket 客户端和服务器。我想从客户端(客户端使用 jQuery)检测机器是否空闲 15 秒(因为没有来自服务器的数据)。如果没有数据出现,我想弹出。它应该再次检查 15 秒,依此类推。
我用过'setTimeout'
setTimeout(function()
if (data == 0)
$('div#popup2').show()
, 15000);
但这只会在它们为 0 时触发,如果数据 ==1 并且机器处于空闲状态,它不会在 15 秒内显示弹出窗口。
【问题讨论】:
【参考方案1】:您可以在其他情况下使用clearTimeout
,如下所示。
var data = 0; // Change value to 1 if you want to see change.
var tID;
$('#popup2').hide();
$('#popup1').hide();
if (data == 0)
tID = setTimeout(function()
$("div#popup2").show()
, 1500);
else
clearTimeout(tID); // Else condition goes here whatever you want to do
$("div#popup1").show();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<div id='popup2'>Your Pop UP</div>
</div>
<div id='popup1'>Show Test Div</div>
【讨论】:
以上是关于如何检测机器是不是空闲,15 秒内没有来自服务器的值?的主要内容,如果未能解决你的问题,请参考以下文章
Apache Flink CEP如何检测事件是不是在x秒内没有发生?