Sha256: 88017b6e14434a92dcdac2e30c802dd1160827d642670b9d245313d543de5000

Contents?: true

Size: 850 Bytes

Versions: 9

Compression:

Stored size: 850 Bytes

Contents

# using the dnssd library to find running, local QLab instances

require 'rubygems'
require 'dnssd'

Thread.abort_on_exception = true

def row label, record
  puts "%-12s%s" % [label, record.send(label)]
end

def do_browse_on_service(b)
  DNSSD.resolve b.name, b.type, b.domain do |r|
    puts '*' * 40
    puts "FOUND QLAB:"

    puts
    puts '-- machine --'
    row :name, b
    row :type, b
    row :domain, b
    row :interface, b

    puts
    puts '-- resolved domain --'
    row :target, r
    row :port, r
    row :target, r
    puts '*' * 40
  end
end

browsers = []

#browsers.push(DNSSD.browse('_qlab._udp.') do |b|
#  do_browse_on_service(b)
#end)

browsers.push(DNSSD.browse('_qlab._tcp.') do |b|
  do_browse_on_service(b)
end)

trap 'INT' do
  browsers.map(&:stop);
  exit
end

trap 'TERM' do
  browsers.map(&:stop);
  exit
end

sleep

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
qcmd-0.1.16.pre sample/dnssd.rb
qcmd-0.1.15 sample/dnssd.rb
qcmd-0.1.14 sample/dnssd.rb
qcmd-0.1.13 sample/dnssd.rb
qcmd-0.1.12 sample/dnssd.rb
qcmd-0.1.11 sample/dnssd.rb
qcmd-0.1.10 sample/dnssd.rb
qcmd-0.1.9 sample/dnssd.rb
qcmd-0.1.8 sample/dnssd.rb