Skip to content

Instantly share code, notes, and snippets.

@jcrugzz
Last active December 23, 2015 02:08
Show Gist options
  • Save jcrugzz/6564509 to your computer and use it in GitHub Desktop.
Save jcrugzz/6564509 to your computer and use it in GitHub Desktop.
~/n/j/proxy ❯❯❯ node primus-proxy.js
{ from: 'server', to: 'client' }
reconnecting
{ from: 'server', to: 'client' }
{ from: 'client', to: 'server' }
disconnected

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: socket hang up
    at createHangUpError (http.js:1473:15)
    at Socket.socketOnEnd [as onend] (http.js:1569:23)
    at Socket.g (events.js:175:14)
    at Socket.EventEmitter.emit (events.js:117:20)
    at _stream_readable.js:920:16
    at process._tickCallback (node.js:415:13)
var http = require('http');
var caronte = require('caronte');
var Primus = require('primus');
var server = http.createServer(function (req, res) {
res.writeHead(500);
res.end('Not Implemented\n');
});
var primus = new Primus(server, { transformer: 'engine.io' });
var Socket = primus.Socket;
primus.on('error', function (err) {
console.log('Primus ' + err);
});
primus.on('connection', function (spark) {
spark.write({ from: 'server', to: 'client' });
spark.on('data', function (data) {
console.dir(data);
});
});
primus.on('disconnection', function (spark) {
console.log('disconnected');
});
server.listen(9000);
var proxy = caronte.createProxyServer({
ws: true,
target: 'http://localhost:9000'
});
var srv = proxy.listen(3000);
var socket = new Socket('http://localhost:3000');
socket.on('reconnecting', function () {
console.log('reconnecting');
});
socket.on('open', function () {
socket.write({ from: 'client', to: 'server' })
});
socket.on('data', function (data) {
console.dir(data);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment