首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >NodeJS派生的Java进程中网络接口的IP地址

NodeJS派生的Java进程中网络接口的IP地址
EN

Stack Overflow用户
提问于 2015-12-06 00:53:06
回答 1查看 394关注 0票数 3

由NodeJS启动的Java进程似乎无法检测到网络接口的IPv6地址。考虑一下下面的java代码:

代码语言:javascript
复制
public class ListAddresses {
    public static void main(String args[]) throws SocketException {
        Enumeration<NetworkInterface> nets = NetworkInterface.getNetworkInterfaces();
        for (NetworkInterface netint : Collections.list(nets))
            displayInterfaceInformation(netint);
    }

    static void displayInterfaceInformation(NetworkInterface netint) 

    throws SocketException {
            out.printf("Display name: %s\n", netint.getDisplayName());
            out.printf("Name: %s\n", netint.getName());
            Enumeration<InetAddress> inetAddresses = netint.getInetAddresses();
            for (InetAddress inetAddress : Collections.list(inetAddresses)) {
                out.printf("InetAddress: %s\n", inetAddress);
            }
            out.printf("\n");
        }
    }

如果我从命令行运行它,它会输出以下内容:

代码语言:javascript
复制
Display name: wlan0
Name: wlan0
InetAddress: /fe80:0:0:0:6e88:14ff:fe67:8130%3
InetAddress: /192.168.1.102

Display name: lo
Name: lo
InetAddress: /0:0:0:0:0:0:0:1%1
InetAddress: /127.0.0.1

如果我从NodeJS内部启动它,如下所示:

代码语言:javascript
复制
var spawn = require('child_process').spawn;
var prc = spawn('java', ['ListAddresses']);

prc.stdout.on('data', function (data) {
  console.log('' + data);
});

那么它的输出是:

代码语言:javascript
复制
Display name: 
wlan0
Name: wlan0
InetAddress: /192.168.1.102

Display name: lo
Name: lo
InetAddress: /127.0.0.1

因此,缺少IPv6地址。最后,如果我将产卵的方式改为这样:

代码语言:javascript
复制
var prc = spawn('java', ['ListAddresses'], { stdio: [ 'ignore', null, null] });

然后,启动的java进程会正确打印出所有的IP地址(这似乎与https://stackoverflow.com/a/22950304/594406有某种关系,但我看不出是怎么回事)。有人知道这是怎么回事吗?我在Ubuntu 14.04.3 LTS上使用java 1.8.0_66和node v4.2.2。请注意,父NodeJS进程会检测IPv6地址,如果我启动了一个NodeJS子进程,那么它也会检测到它们。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34108124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档