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

时间:2011-03-01 14:17:52

标签: c++ windows networking

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

3 个答案:

答案 0 :(得分:4)

用于将机器连接到世界的网络接口数量或多或少与主机名的数量无关。您可以使用单个名称的多个接口(即使它有点不寻常)或具有单个接口的多个名称(更常见)。

关于它返回的价值,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配置的问题,但对于群集成员,您可以设置环境变量。

答案 1 :(得分:0)

答案 2 :(得分:-1)

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