无论哪个
Resolv.getname( "fred.local" )
Resolv.getaddress( "10.0.1.18" )
nor
Socket.gethostbyaddr([10,0,1,18].pack("CCCC"))
似乎能够识别使用零配置/ Bonjour 的本地子网上的主机。 我需要根据其 IP 地址找到本地子网上零配置计算机的主机名。
这些函数使用普通的TCP和DNS,我认为您需要使用Bonjour API,例如http://dnssd.rubyforge.org/。
h_n = Socket.getaddrinfo('10.0.1.18', nil)
。主机名应该位于:h_n[0][2]
。 - fmendez