-
-
Save TooTallNate/2209310 to your computer and use it in GitHub Desktop.
var net = require('net') | |
var sock = net.connect(1337) | |
process.stdin.pipe(sock) | |
sock.pipe(process.stdout) | |
sock.on('connect', function () { | |
process.stdin.resume(); | |
process.stdin.setRawMode(true) | |
}) | |
sock.on('close', function done () { | |
process.stdin.setRawMode(false) | |
process.stdin.pause() | |
sock.removeListener('close', done) | |
}) | |
process.stdin.on('end', function () { | |
sock.destroy() | |
console.log() | |
}) | |
process.stdin.on('data', function (b) { | |
if (b.length === 1 && b[0] === 4) { | |
process.stdin.emit('end') | |
} | |
}) |
var repl = require('repl') | |
var net = require('net') | |
net.createServer(function (socket) { | |
var r = repl.start({ | |
prompt: 'socket '+socket.remoteAddress+':'+socket.remotePort+'> ' | |
, input: socket | |
, output: socket | |
, terminal: true | |
, useGlobal: false | |
}) | |
r.on('exit', function () { | |
socket.end() | |
}) | |
r.context.socket = socket | |
}).listen(1337) |
I'm curious, too -- I'd like a remote REPL participant to be able to see the results of whatever they do, in their own REPL, instead of having that output "leak" back into the terminal where the program is running.
To @qzaidi : http://nodejs.org/api/stream.html#stream_compatibility_with_older_node_versions
For Node 0.10.x, please see my revision: https://gist.github.com/jakwings/7772580
var socket = require('engine.io-client');
console.log(socket.remoteAddress);
i am not getting remote addeess and it gives undefined
req.headers['x-forwarded-for'] it gives local ip address ...
i want remote ip address
how to start the client and server in this application?
i tried node repl-server.js it is giving me an error
module.js:538
throw err;
^
Error: Cannot find module 'C:\D Drive\Learning\repl-server.js'
at Function.Module._resolveFilename (module.js:536:15)
at Function.Module._load (module.js:466:25)
at Function.Module.runMain (module.js:676:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
Looks like this stopped working with 0.10.0, running the client results in the following error.
_stream_readable.js:683
throw new Error('Cannot switch to old mode now.');