我是靠谱客的博主 怕孤单斑马,最近开发中收集的这篇文章主要介绍java 获取主机名_建议在Java中获取主机名的方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题

以下哪项是获取Java当前计算机主机名的最佳和最便携的方法?

Runtime.getRuntime().exec("hostname")

VS

InetAddress.getLocalHost().getHostName()

#1 热门回答(289 赞)

严格来说 - 你别无选择,只能在Unixgethostname(2)上调用hostname(1)或者。这是你的计算机的名称。任何通过IP地址确定主机名的尝试都是这样的

InetAddress.getLocalHost().getHostName()

在某些情况下必然会失败:

IP地址可能无法解析为任何名称。错误的DNS设置,糟糕的系统设置或错误的提供商设置可能是这个原因。

DNS中的名称可以有许多名为CNAME的别名。这些只能在一个方向上正确解决:名称到地址。反方向是模棱两可的。哪一个是"官方"名称?

主机可以有许多不同的IP地址 - 每个地址可以有许多不同的名称。两种常见情况是:一个以太网端口有几个"逻辑"IP地址,或者计算机有几个以太网端口。它是可配置的,无论它们共享IP还是具有不同的IP。这被称为"多宿主"。

DNS中的一个名称可以解析为多个IP地址。并非所有这些地址都必须位于同一台计算机上! (用例:一种简单的负载均衡形式)

我们甚至不开始讨论动态IP地址。

另外,请勿将IP地址的名称与主机名(主机名)混淆。一个比喻可能会让它更清晰:

有一个叫做"伦敦"的大城市(服务器)。在城墙里面发生了很多事情。这个城市有几个门(IP地址)。每个门都有一个名称("北门","河门"

最后

以上就是怕孤单斑马为你收集整理的java 获取主机名_建议在Java中获取主机名的方法的全部内容,希望文章能够帮你解决java 获取主机名_建议在Java中获取主机名的方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部