代码之家  ›  专栏  ›  技术社区  ›  bradley101

http。从未调用服务器的“connect”事件

  •  2
  • bradley101  · 技术社区  · 8 年前

    我创建了一个简单的http服务器,我想从中通过套接字传输一些字节的数据。所以我在听服务器的“连接”事件。但它从未被称为?

    这是我的密码。

    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 回复  |  直到 8 年前
        1
  •  0
  •   kgangadhar    8 年前

    对于 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();
    
    });
    
    推荐文章