dynamic status updates using net-mdns bonjour messaging

Discussion in 'Ruby' started by Doug Beaver, Dec 17, 2005.

  1. Doug Beaver

    Doug Beaver Guest

    hello,

    i'm exploring using net-mdns 0.2 (written by sam roberts) to do some
    bonjour work. i'm curious if anyone has figured out how to make a
    bonjour service dynamically update its TXT record.

    i'm starting to write a dummy chat client/server just to test the apis
    out, and while i can easily find lists of all the servers out there, i'm
    having difficulty getting my servers to broadcast updates about their
    status.

    here's a hack i did in order to simulate dynamic updates, i just create
    a new service each time i want to send an update:

    ----

    require 'net/dns/resolv-mdns'
    require 'net/dns/resolv-replace'
    require 'net/http'

    args = ["service1", "_chatter._tcp", 8000, nil]

    i = 0
    announce = nil

    loop do
    announce.stop unless announce.nil?
    announce = Net::DNS::MDNS::Service.new(*args) do |s|
    s.ttl = 5
    s["status"] = i.to_s
    end

    i += 1
    sleep 1
    end

    ----

    i'm using mdns-watch.rb from net-mdns's samples/ directory, and i see
    the proper TXT updates going out, but i'm wondering if there's a way to
    do this without having to stop the service every time.

    i tried just doing 'announce["status"] = i.to_s' inside my loop, but i
    never see updates, the only way i could make the bonjour records get
    broadcast was to create a new service object every time.

    does anyone have any suggestions? btw, thanks to sam for creating such
    a cool module, i'm having a lot of fun working with it.

    doug

    --
    "Contrary to what most people say, the most dangerous animal in the
    world is not the lion or the tiger or even the elephant. It's a shark
    riding on an elephant's back, just trampling and eating everything they
    see." -- Jack Handey
     
    Doug Beaver, Dec 17, 2005
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Itai
    Replies:
    0
    Views:
    3,107
  2. Sam Roberts
    Replies:
    5
    Views:
    255
    Sam Roberts
    Feb 4, 2005
  3. Sam Roberts
    Replies:
    0
    Views:
    246
    Sam Roberts
    Feb 6, 2005
  4. Sam Roberts
    Replies:
    0
    Views:
    217
    Sam Roberts
    Mar 20, 2005
  5. Replies:
    9
    Views:
    199
Loading...

Share This Page