我正在開發一個使用node.js作爲平臺的appjs的聊天應用程序。當計算機處於空閒狀態時(用戶離開或不使用它時),我感到困惑。使用node.js os.cpus()檢測用戶空閒時間?
有os模塊中的node.js及其os.cpus()
提供每個芯這樣的信息:
[ { model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times:
{ user: 252020,
nice: 0,
sys: 30340,
idle: 1070356870,
irq: 0 } },
{ model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times:
{ user: 306960,
nice: 0,
sys: 26980,
idle: 1071569080,
irq: 0 } },
{ model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times:
{ user: 248450,
nice: 0,
sys: 21750,
idle: 1070919370,
irq: 0 } },
{ model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times:
{ user: 256880,
nice: 0,
sys: 19430,
idle: 1070905480,
irq: 20 } },
{ model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times:
{ user: 511580,
nice: 20,
sys: 40900,
idle: 1070842510,
irq: 0 } },
{ model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times:
{ user: 291660,
nice: 0,
sys: 34360,
idle: 1070888000,
irq: 10 } },
{ model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times:
{ user: 308260,
nice: 0,
sys: 55410,
idle: 1071129970,
irq: 880 } },
{ model: 'Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz',
speed: 2926,
times:
{ user: 266450,
nice: 1480,
sys: 34920,
idle: 1072572010,
irq: 30 } }
]
所以它適合用於檢測用戶空閒?據我瞭解,我可以使用兩個值:user
和idle
。 idle
值的迭代速度非常快,但user
迭代的方式非常混亂。我在尋找的是知道用戶何時不移動鼠標或輸入任何應用程序(不僅僅是在我的應用程序中),並且在某些不活動的閾值超時(例如60秒)之後,我需要將他的狀態更改爲「離開」當他回來時將它改回「在線」。你能指點我一些alghorithm如何做到這一點,甚至爲我刪除一些代碼示例? 在此先感謝。
編輯。 據我所知,每個操作系統都有API來檢測用戶是否處於空閒狀態,例如Adobe Air作爲平臺有能力輕鬆實現,我知道我可以使用node-ffi甚至編寫一個模塊。此外,據我所知,鉻也有這種能力out of the box。
幫助我們幫助您,爲什麼nodejs應用程序會在整個計算機空閒時關心?最後的結局是什麼?可能有更好的方法去做你所忽視的事情,因爲你已經習慣了這種特殊的方法。 – jcolebrand 2013-04-08 18:33:48
我想簡單地確定聊天應用程序用戶何時離開計算機,甚至沒有瀏覽網頁或在MS Word中輸入內容,以便我可以將他的狀態設置爲「離開」,以及何時他將狀態恢復爲「在線」。 .. – moogeek 2013-04-09 20:19:35
作爲一個網絡應用程序,如果我只是不經常使用該應用程序,我希望它將我的狀態設置爲離開。就像StackExchange聊天工作方式一樣,當我從15分鐘的聊天中消失時,我在標籤本身顯示爲「離開」。 – jcolebrand 2013-04-09 22:02:42