Windows 无法将本地主机名解析为主机文件 IP

Windows 无法将本地主机名解析为主机文件 IP

我有一个多宿主 Windows 10,我希望我的应用程序在其指定的特定 IP 上打开一个服务器套接字主机名

我的机器主机名是MY-PC,它有一个公共 IP192.0.0.2/24和一个“直接”IP 192.2.2.2/24(直接连接到另一台计算机)。两者都在控制面板中的 Windows 网络适配器页面中配置。

未配置 DNS。我的 hosts 文件如下所示:

127.0.0.1    localhost
192.2.2.2    MY-PC
192.2.2.1    DIRECT-PC

当我尝试 ping 我的主机名时(完全禁用 IPv6 后):

> ping MY-PC

Pinging MY-PC [192.0.0.2] with 32 bytes of data:
Reply from 192.0.0.2: time<1ms
...

奇怪的是,相同的设置(主机文件/网络适配器配置)在另一台计算机上按预期工作(但只有六台中的一台)。

我如何强制从主机名监听特定 IP?(这是程序接收的配置中的全局参数)。

我已经检查过了相关问题但答案是关于完全禁用IPv6。

答案1

请阅读本文,您可以在那里找到有关 Windows 中的名称解析的更多信息。以下是对您问题的回答:

主机名解析一般采用以下顺序:

  1. 客户端检查查询的名称是否是它自己的。
  2. 然后,客户端搜索本地 Hosts 文件、存储在本地计算机上的 IP 地址和名称列表。
  3. 查询域名系统 (DNS) 服务器。
  4. 如果名称仍未解析,则使用 NetBIOS 名称解析顺序作为备份。可以通过配置客户端的 NetBIOS 节点类型来更改此顺序。

Windows 客户端将尝试每一种方法,直到成功解析名称或用尽这些方法。

相关内容