WebSpawn
Installation
$ npm install web-spawn
Features
- Pipes stdin/stdout/stderr over web socket to allow communication with server process from client.
- Transmits whitelisted signals to process from client.
Dependencies
Quick Start
Server
var app = require('express').createServer();var io = require('socket.io')(app);var webSpawn = require('web-spawn')(io, app);var SocketSpawn = require('web-spawn').SocketSpawn; // Can also be attached alternatively, like socket.io// var webSpawn = require('web-spawn')(io);// ...// webSpawn.attach(app); var cmds = { python2: function (socket) { var child = SocketSpawn(socket, ['python2', ['-u', '-i']); }, python3: function (socket) { var child = SocketSpawn(socket, ['python3', ['-u', '-i']); }}; webSpawn.route('/route', cmds, function(cmd, socket, query) { // cmd: fn to be called // socket: socket.io instance // query: query object sent by WebSpawn client // ... cmd(socket);}); // ...
Client
<script src="/socket.io/socket.io.js"></script><script src="/js/EventEmitter.js"></script><script src="/web-spawn/web-spawn.js"></script><script> var cmd = 'python3'; var ws = ns: '/route' query: cmd: cmd ; ws; // same as ws.stdout(fn); ws; ws; // same as ws.stdin(str); ws; ws; </script>