天天看點

Node.JS實戰34:遠端螢幕監控?可以的目标效果:實作原理:代碼:效果測試:

是否想做一個遠端系統螢幕監控功能?這是個有意思的功能。

Node.JS實戰34:遠端螢幕監控?可以的目标效果:實作原理:代碼:效果測試:

Node.JS可以實作,而且很友善。

目标效果:

在網頁中實時檢視系統螢幕内容。

實作原理:

1、用express實作伺服器;

2、當通路來臨時,截圖并儲存成檔案,再傳給通路者。

代碼:

var express = require('express');
var app = express();

//中間件,實作螢幕監控
app.use(function(req,res,next){
   var screenshot = require("desktop-screenshot"); 

   //螢幕截圖
   screenshot("screenshot.png", function(error, complete) { 
      console.log(req.url);
      if(error) 
            console.log("Screenshot failed", error); 
         else
            console.log("Screenshot succeeded"); 
   }); 

   next();
})

//内置中間件,靜态檔案通路
app.use(express.static('./'))

//監聽
var server = app.listen(8000, function () {
   var host = server.address().address
   var port = server.address().port
   console.log(host, port);
})

//當通路根目錄時觸發
app.get('/', function (req, res) {
   res.send('Hello Jshaman.com');
})

           

示例代碼很簡單,核心是使用了一個desktop-screenshot的三方控件,以實作螢幕截圖。

截圖的時機,是通過中間件的使用,達到有任意通路時即截圖。

效果測試:

運作上面的代碼,然後我們可以通過以下路徑通路:

http://127.0.0.1:8000/screenshot.png
           

就可以看到截圖如下:

Node.JS實戰34:遠端螢幕監控?可以的目标效果:實作原理:代碼:效果測試:

隻要重新整理頁面,就可以檢視實時的螢幕動态。

一台電腦運作此程式,在另一台電腦通路:

Node.JS實戰34:遠端螢幕監控?可以的目标效果:實作原理:代碼:效果測試:

很好,完美的螢幕監控。

手機上可以進行監控嗎?當然可以。