繁体   English   中英

nodejs-知道服务器从哪个IP地址获取数据

[英]nodejs - know from which ip address the server makes the get

抱歉,我是网络编程和nodejs的新手。 我正在使用服务器中的节点以及本地网络中的某些客户端。

有时我必须通过get请求向客户询问数据:

// somewhere inside server.js
function askDataToClient(ip) {

    var options = {
        host: String(ip),
        port: 80,
        path: '/client/read',
        auth: 'username:password'
    };

    var request = http.get(options, function(htres){
        var body = "";
        htres.on('data', function(data) {
            body += data;
        });
        htres.on('end', function() {
            body = JSON.parse(body);
            res.json(body);
            res.end();
        })
        htres.on('error', function(e) {
            // ...
        });
    });
}

我想知道用于调用此get请求的服务器ip。

我知道这个答案,但是它为我提供了服务器计算机上所有活动的网络:

lo0 127.0.0.1
en1 192.168.3.60
bridge0 192.168.2.1

如果我正在查询客户端192.168.3.36,我知道它是第二个IP,即192.168.3.60,因为它们位于同一网络上。但是如何以编程方式知道它?

您应该能够使用htres.socket.address().address来获取IP。

签出可用于HTTP Request对象的request.connection.remoteAddress属性。 这指示执行请求的远程主机的地址。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM