From: Doug Beaver Date: 2005-12-18T06:13:47+09:00 Subject: dynamic status updates using net-mdns bonjour messaging 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