class Gem::Resolv::MDNS

Gem::Resolv::MDNS 是一个单次多播 DNS (mDNS) 解析器。它盲目地向 mDNS 地址发送查询,而不了解有关多播端口的任何信息。

信息来自以下位置

  • RFC 6762

常量

AddressV4

默认 IPv4 mDNS 地址

AddressV6

默认 IPv6 mDNS 地址

Addresses

默认 mDNS 地址

Port

默认 mDNS Port

公共类方法

new(config_info=nil) 点击切换源码

创建一个新的单次多播 DNS (mDNS) 解析器。

config_info 可以是

nil

使用默认 mDNS 地址

Hash

必须包含 :nameserver 或 :nameserver_port,类似于 Gem::Resolv::DNS#initialize。

调用父类方法 Gem::Resolv::DNS::new
# File rubygems/vendor/resolv/lib/resolv.rb, line 3187
def initialize(config_info=nil)
  if config_info then
    super({ nameserver_port: Addresses }.merge(config_info))
  else
    super(nameserver_port: Addresses)
  end
end

公共实例方法

each_address(name) 点击切换源码

迭代从 mDNS 解析器检索到的 name 的所有 IP 地址,前提是名称以“local”结尾。如果名称不以“local”结尾,则不会返回任何记录。

name 可以是 Gem::Resolv::DNS::Name 或 String。检索到的地址将是 Gem::Resolv::IPv4Gem::Resolv::IPv6

# File rubygems/vendor/resolv/lib/resolv.rb, line 3203
def each_address(name)
  name = Gem::Resolv::DNS::Name.create(name)

  return unless name[-1].to_s == 'local'

  super(name)
end