我创建了一个简单的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);
答案 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();
});