Last active
October 25, 2016 20:26
-
-
Save oJshua/81f55236c46a09891bda5e44538f3cf2 to your computer and use it in GitHub Desktop.
How To Connect Dnode with Socket IO in 2016
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var io = require('socket.io'); | |
var dnode = require('dnode'); | |
var socket = io.connect(); | |
var stream = new Stream(); | |
stream.writeable = true; | |
stream.readable = true; | |
stream.write = function(buffer) { | |
socket.emit('message', String(buffer)); | |
}; | |
socket.on('message', function(message) { | |
stream.emit('data', message); | |
}); | |
stream.destroy = stream.end = function() { | |
stream.emit('end'); | |
}; | |
var d = dnode(); | |
d.on('remote', function(remote) { | |
d.proto.on('request', function(request) { | |
socket.emit('message', request); | |
}); | |
remote.cat(function(value) { | |
console.log(value); | |
}); | |
}); | |
socket.on('connect', function() { | |
d.pipe(stream).pipe(d); | |
stream.emit('connect'); | |
}); | |
socket.on('disconnect', function() { | |
stream.destroy(); | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var dnode = require('dnode'); | |
var Stream = require('stream'); | |
var stream = new Stream; | |
stream.writable = true; | |
stream.readable = true; | |
stream.write = function(buffer) { | |
socket.emit('message', String(buffer)); | |
}; | |
socket.on('message', function(message) { | |
stream.emit('data', message); | |
}); | |
stream.destroy = stream.end = function() { | |
stream.emit('end'); | |
}; | |
var d = dnode({ | |
cat: function(callback) { | |
callback('meow'); | |
} | |
}); | |
d.pipe(stream).pipe(d); | |
socket.on('disconnect', function() { | |
stream.destroy(); | |
}); | |
stream.emit('connect'); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment