Event: 'upgrade'
function (response, socket, head) { }
Emitted each time a server responds to a request with an upgrade. If this event isn't being listened for, clients receiving an upgrade header will have their connections closed.
A client server pair that show you how to listen for the 'upgrade'
event.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | 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(1337, '127.0.0.1' , () => { // make a request var options = { port: 1337, 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); }); }); |
Please login to continue.