2

I create a simple http server from which I want do transfer some bytes of data over socket. So i am listening to 'connect' event of the server. But it is never called?

here is my code.

var http = require('http');
var server = http.createServer(function(req, res) {
    res.setHeader('Content-type', 'text/html');
    res.end('<h3>Yeah! you are connected on ' + Date() + '</h3>');
    console.log('User connected');
});
server.on('connect', function(req, socket, head) {
    //var addr = socket.remoteAddress;
    console.log('IP - ');
});
server.listen(8000);
bradley101
  • 723
  • 6
  • 19

1 Answers1

0

For connect event, when the server is running, need to make a request to a tunneling proxy.

Replace your server.listen(8000); with this:

server.listen(8000, '127.0.0.1', () => {

    // make a request to a tunneling proxy
    const options = {
        port: 8000,
        hostname: '127.0.0.1',
        method: 'CONNECT',
        path: 'www.google.com:80'
    };

    const req = http.request(options);
    req.end();

});
kgangadhar
  • 4,886
  • 5
  • 36
  • 54
  • yeah connection is a different event and it is working...so when is 'connect' event called as mentioned in the documentation? – bradley101 Nov 07 '17 at 19:26