具有多个网络接口的计算机上的 gethostname

发布于 2024-10-19 21:26:42 字数 60 浏览 1 评论 0原文

在具有多个网络接口的计算机上,gethostname 系统调用将返回什么?是否可以在操作系统级别进行配置?

What will the gethostname system call return on a machine with multiple network interfaces? Is it possible to configure this at the OS level?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梦途 2024-10-26 21:26:42

用于将机器连接到世界的网络接口的数量或多或少与主机名的数量无关。您可以拥有多个具有单个名称的接口(尽管这有些不寻常),也可以具有多个具有单个接口的名称(更为常见)。

至于它返回什么值,MSDN 说:

如果在 Windows Server 2008、Windows Server 2003 或 Windows 2000 Server 上的群集资源上使用 gethostname 函数并且定义了 _CLUSTER_NETWORK_NAME_ 环境变量,则此环境变量中的值将覆盖实际主机名并返回。在集群资源上,_CLUSTER_NETWORK_NAME_ 环境变量包含集群的名称。

gethostname 函数使用 Svgguid.h 头文件中定义的 SVCID_HOSTNAME GUID 查询命名空间提供程序以确定本地主机名。如果没有名称空间提供程序响应,则 gethostname 函数将返回本地计算机的 NetBIOS 名称。

因此,这通常是 DNS 配置的问题,但对于集群成员,您可以设置环境变量。

The number of network interfaces used to connect the machine to the world is more or less independent of the number of host names. You can have multiple interfaces with a single name (even though it's somewhat unusual) or multiple names with a single interface (considerably more common).

As to what value it does return, MSDN says:

f the gethostname function is used on a cluster resource on Windows Server 2008, Windows Server 2003, or Windows 2000 Server and the _CLUSTER_NETWORK_NAME_ environment variable is defined, then the value in this environment variable overrides the actual hostname and is returned. On a cluster resource, the _CLUSTER_NETWORK_NAME_ environment variable contains the name of the cluster.

The gethostname function queries namespace providers to determine the local host name using the SVCID_HOSTNAME GUID defined in the Svgguid.h header file. If no namespace provider responds, then the gethostname function returns the NetBIOS name of the local computer.

As such, it's normally a question of DNS configuration, but for a member of a cluster you can set an environment variable.

爱已欠费 2024-10-26 21:26:42

主机名存储在操作系统级别。无论您的 PC 有多少个 NIC,它们都相同。

The Hostname is stored at the OS Level .It doesn't matter how many NIC's your PC has, it will be the same for all of them.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文