方今自身的windows10系统直接不能够管用获得IP地址(无论有线照旧有线),但手工业安装IP后又能不荒谬上网,所以猜疑是有些服务未运维的来头。

win+r——->cmd——>ipconfig /release (释放ip)

[toc]

<?php
$res=system("ipconfig -all");
$contents=trim(ob_get_clean());
$contents=str_replace("\r\n","",$contents);

$contents=explode("   ",$contents);
foreach($contents as $k=>&$v)
{

    $pre=substr($v,0,8);
    if($pre=="物理地址")
    {
        $ip=substr($v,36);
        break;
    }
}
var_dump($ip);
?>

查了一下百度,发掘还真是,现将缓慢解决方案记录如下:

图片 1

描述

鉴于项目是布局在集群上的,需重要项目目能够自行收集各机器的音讯。java.net.InetAddress.getLocalHost(卡塔尔来得到本地机械的IP和机器名新闻,但发现在linux下并不可能取获得机械的莫过于IP和机具名音信(获取到的是localhost/127.0.0.1)。

 

 

ipconfig /renew  重新得到ip

方案描述

依附系统项目(linux、windows)来由此不一致的方式获得本地机械的IP新闻。

1、展开系统服务。在劳务分界面中却确定保障【wired auto config】和【WLan
autoconfig】五个劳务寻常运行,假诺未运转,首先将“运营项目”改过为“自动”,点击【应用】—【运转】—【分明】就可以。

图片 2

获取Windows下的IP

java.net.InetAddress.getLocalHost().getHostAddress();

图片 3

获取linux下的IP

    /**
     * 获取Linux下的IP地址
     *
     * @return IP地址
     * @throws SocketException
     */
    private static String getLinuxLocalIp() throws SocketException {
        String ip = "";
        try {
            for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
                NetworkInterface intf = en.nextElement();
                String name = intf.getName();
                if (!name.contains("docker") && !name.contains("lo")) {
                    for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
                        InetAddress inetAddress = enumIpAddr.nextElement();
                        if (!inetAddress.isLoopbackAddress()) {
                            String ipaddress = inetAddress.getHostAddress().toString();
                            if (!ipaddress.contains("::") && !ipaddress.contains("0:0:")
                                    && !ipaddress.contains("fe80")) {
                                ip = ipaddress;
                            }
                        }
                    }
                }
            }
        } catch (SocketException ex) {
            ip = "127.0.0.1";
            ex.printStackTrace();
        }
        return ip;
    }

2、在早前菜单上单击鼠标右键,在弹出的菜系中式茶食击“互联网连接”;

认清操作系统的品种

    /**
     * 判断操作系统是否是Windows
     *
     * @return
     */
    public static boolean isWindowsOS() {
        boolean isWindowsOS = false;
        // 注:这里的system,系统指的是 JRE (runtime)system,不是指 OS
        String osName = System.getProperty("os.name");
        if (osName.toLowerCase().indexOf("windows") > -1) {
            isWindowsOS = true;
        }
        return isWindowsOS;
    }

此间关于System.getProperty(“os.name”卡塔尔说美素佳儿下(参照他事他说加以考察自

key 注释
file.separator File separator (e.g., "/")
java.class.path Java classpath
java.class.version Java class version number
java.home Java installation directory
java.vendor Java vendor-specific string
java.vendor.url Java vendor URL
java.version Java version number
line.separator Line separator
os.arch Operating system architecture
os.name Operating system name
path.separator Path separator (e.g., ":")
user.dir User’s current working directory
user.home User home directory
user.name User account name

图片 4

终极将地点多个点子实行整合

    /**
     * 获取本地IP地址
     *
     * @throws SocketException
     */
    public static String getLocalIP() throws UnknownHostException, SocketException {
        if (isWindowsOS()) {
            return InetAddress.getLocalHost().getHostAddress();
        } else {
            return getLinuxLocalIp();
        }
    }

3、将以太网单击右键,选拔“禁止使用”,然后再一次启用;

参考

 图片 5

4、在开首菜单上单击鼠标右键,在弹出的菜系中式糕点击“命令提醒符(管理员)”;

图片 6

5、在指令提示符框中输入:netsh winsock reset
按下回车键,会唤醒:成功地重新恢复生机设置 Winsock 目录。
(计算机中装置了杀毒软件的可能会弹出组织窗口,大家筛选允许操作就可以卡塔尔(قطر‎

图片 7

6、重启后常常能够肃清难点!

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图