Skip to content

Instantly share code, notes, and snippets.

@iSkore
Created April 19, 2016 19:23
Show Gist options
  • Save iSkore/d516c9afe69ddb8bff927099016c8a03 to your computer and use it in GitHub Desktop.
Save iSkore/d516c9afe69ddb8bff927099016c8a03 to your computer and use it in GitHub Desktop.
Talk to sockets
const http = require('http');
// Create an HTTP server
var srv = http.createServer( (req, res) => {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('okay');
});
srv.on('upgrade', (req, socket, head) => {
socket.write('HTTP/1.1 101 Web Socket Protocol Handshake\r\n' +
'Upgrade: WebSocket\r\n' +
'Connection: Upgrade\r\n' +
'\r\n');
socket.pipe(socket); // echo back
});
// now that server is running
srv.listen(9000, '127.0.0.1', () => {
// make a request
var options = {
port: 9000,
hostname: '127.0.0.1',
headers: {
'Connection': 'Upgrade',
'Upgrade': 'websocket'
}
};
var req = http.request(options);
req.end();
req.on('upgrade', (res, socket, upgradeHead) => {
console.log('got upgraded!');
socket.end();
//process.exit(0);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment