http.Server' connect'从未调用过事件

时间:2017-11-07 18:53:33

标签: node.js socket.io node-modules

我创建了一个简单的http服务器,我希望通过socket传输一些字节数据。所以我正在听“连接”#39;服务器的事件。但它永远不会被称为?

这是我的代码。

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

1 个答案:

答案 0 :(得分:0)

对于connect事件,当服务器运行时,需要向隧道代理发出请求。

将此server.listen(8000);替换为:

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

});