Я не имею в виду
127.0.0.1
Но скорее тот, который другие компьютеры будут использовать для доступа к машине, например.
192.168.1.6
Я не имею в виду
127.0.0.1
Но скорее тот, который другие компьютеры будут использовать для доступа к машине, например.
192.168.1.6
http://nodejs.org/api/os.html#os_os_networkinterfaces
var os = require('os');
var interfaces = os.networkInterfaces();
var addresses = [];
for (var k in interfaces) {
for (var k2 in interfaces[k]) {
var address = interfaces[k][k2];
if (address.family === 'IPv4' && !address.internal) {
addresses.push(address.address);
}
}
}
console.log(addresses);
https://github.com/indutny/node-ip
var ip = require("ip");
console.dir ( ip.address() );
Моя версия, которая была необходима для компактного и одиночного файла script, надеется быть полезной для других:
var ifs = require('os').networkInterfaces();
var result = Object.keys(ifs)
.map(x => [x, ifs[x].filter(x => x.family === 'IPv4')[0]])
.filter(x => x[1])
.map(x => x[1].address);
Или ответить на исходный вопрос:
var ifs = require('os').networkInterfaces();
var result = Object.keys(ifs)
.map(x => ifs[x].filter(x => x.family === 'IPv4' && !x.internal)[0])
.filter(x => x)[0].address;
$ npm install --save quick-local-ip
после
var myip = require('quick-local-ip');
//getting ip4 network address of local system
myip.getLocalIP4();
//getting ip6 network address of local system
myip.getLocalIP6();
https://github.com/dominictarr/my-local-ip
$ npm install -g my-local-ip
$ my-local-ip
или
$ npm install --save my-local-ip
$ node
> console.log(require('my-local-ip')())
Очень маленький модуль, который делает именно это.
Начиная с версии 0.9.6 узла существует простой способ получить IP-адрес сервера на основе каждого запроса. Это может быть важно, если ваша машина имеет несколько IP-адресов или даже если вы что-то делаете на локальном хосте.
req.socket.localAddress
вернет адрес машинного узла, на котором работает, на основе текущего соединения.
Если у вас публичный IP-адрес 1.2.3.4
и кто-то req.socket.localAddress
вашему серверу узлов извне, тогда значение для req.socket.localAddress
будет "1.2.3.4"
.
Если вы нажмете на тот же сервер от localhost, то адрес будет "127.0.0.1"
Если ваш сервер имеет несколько общедоступных адресов, то значение req.socket.localAddress
будет правильным адресом сокетного соединения.