2017-11-07 2 views
1

Ich erstelle einen einfachen HTTP-Server, von dem ich einige Bytes von Daten über Socket übertragen möchte. Also höre ich "Verbindung" -Ereignis des Servers. Aber es wird nie genannt?http.Server 'Connect' Event wird nie

Hier ist mein 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); 

Antwort

0

Für connect Ereignis, wenn der Server ausgeführt wird, müssen eine Anforderung an einen Tunnel Proxy zu machen.

Ersetzen Sie Ihre server.listen(8000); mit diesem:

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(); 

}); 
+0

ja Verbindung ein anderes Ereignis ist und es funktioniert ... also, wenn sich ‚connect‘ Ereignis in der Dokumentation wie erwähnt genannt? – Shantanu

+0

okay, ich habe es .. – Shantanu