簡體   English   中英

Node.js:獲取代碼以運行客戶端

[英]Node.js: Getting code to run client side

我正在開發一個應用程序,並且嘗試使用Node.js進行構建。 本質上,這個想法是讓Node啟動並殺死某些進程。 我這樣運行服務器:

http.createServer(function (req, res) 
{
    res.writeHead(200, {'Content-Type': 'text/plain'});
    res.end('Hello World\n');

    console.log('platform is: ');
    console.log(process.platform);

    if (queryObject.launch == "yes")
    {
        fun();
    }
}).listen(1337, '0.0.0.0');

在上面的示例中,當我在承載服務器的同一台計算機(Windows計算機)上使用瀏覽器時,得到的是“ win32”。 但是,當我從Linux VM上的瀏覽器訪問服務器時,仍然得到“ win32”。 這告訴我代碼仍在服務器端運行。 有什么辦法可以使其運行在客戶端嗎?

您在這里所做的只是在Node.js服務器上運行代碼。 如果要在客戶端上運行代碼,則需要使客戶端的瀏覽器下載一些JavaScript代碼以在瀏覽器中運行(就像其他任何基於Web的JavaScript代碼一樣)。 但是,JavaScript安全模型明確禁止JavaScript代碼執行您想到的事情(即查看或殺死進程)。

如果您確實有必要遠程殺死進程,則需要考慮建立從一台計算機到另一台計算機的SSH連接。 然后,您可以讓服務器上的進程連接到客戶端並運行適當的Shell命令以關閉該進程,就像在本地運行命令一樣。 但是,這樣的解決方案要求您有權訪問客戶端計算機。 即使是最基本的計算機安全系統,也要防止與連接到服務器的任意計算機完全沖突。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM