簡體   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