我正在使用运行Ubuntu 16.04的以太网连接设备,其主机名为rp-f00e98。当我将其连接到网络时,它的IP地址为192.168.0.180。当我直接将其连接到计算机(没有其他网络连接)时,其IP地址为169.254.149.60。
我可以打开浏览器窗口,并使用rp-f00e98.local和地址栏中的相应IP地址(取决于连接)连接到该窗口。从命令提示符(Windows 10),我可以使用相应的IP地址对其执行ping操作。尝试使用rp-f00e98或rp-f00e98.local对它进行ping操作时,在两种情况下,我都收到“ Ping请求找不到主机rp-f00e98 ...”。
在LabView 2017下使用.NET Framework时:使用Ping
,System.Net.NetworkInformation
方法中的Send(string)
类,我的PingReply
状态为Success
使用IP地址时,但使用主机名时例外(System.Net.Sockets.SocketException
)。
我尝试使用Dns.GetHostEntry(string)
中的System.Net
方法,该方法似乎在发送rp-f00e98的网络连接系统上工作(返回IP地址为192.168.0.180)。但是,当在直接连接的系统上使用时,即使计算机未连接到任何网络,它仍会以某种方式返回192.168.0.180,而只能直接连接到设备。命令提示符下的arp -a确认没有192.168.0.180,并且计算机仅连接到169.254.149.60。
底线:我需要能够使用主机名来获取IP地址。还有其他使用.NET的方法吗?由于我的浏览器始终可以使用主机名找到它,它是如何做到的?还有其他想法吗?