显示多个客户端连接的服务器(net nodejs)

我正在试图制作一个服务器,侦听面向端口的互联网上,并将传入的http请求转发到侦听另一个端口的内部快速服务器。 以下是我正在使用的代码的相关部分。

var net = require('net'); var server = net.createServer(); server.listen(addr.from[3], addr.from[2], function(){ console.log('Server listening'); }); server.on('connection',function(from){ console.log('Client connected from '+ from.remoteAddress); var to = net.createConnection({ host: addr.to[2], port: addr.to[3] }); from.pipe(to); to.pipe(from); from.on('error',function(err){ winston.error('Error at unix box'+err); to.end(); }); to.on('error',function(err){ winston.error('Error at middleware server'+err); from.end(); }); from.on('end',function(){ console.log('Client disconnected '); to.end(); }); to.on('end',function(){ console.log('Middleware disconnected'); from.end(); }); }); 

我遇到的问题是,当我在浏览器(这将是面向互联网的端口)打开“IP:端口”我收到消息多个“客户端连接从xxxxxx”信息在控制台上。 任何人都可以帮我理解为什么发生这种情况?

每当浏览器连接到一个网站,它通常会提出两个请求:正常和检索favicon

有趣的是, favicon请求甚至没有显示在浏览器开发工具中。

为了validation,您需要提取所做的请求,将其打印到服务器,然后观察为什么得到多个请求。 为此, connection可能为时过早,请尝试挂钩request事件:

 server.on('request', funtion(req, res) { console.log(req.url); });