--- a/runtime/ServicePublisher.py Mon Nov 21 15:18:51 2011 +0100
+++ b/runtime/ServicePublisher.py Tue Nov 22 02:06:15 2011 +0100
@@ -22,7 +22,7 @@
#License along with this library; if not, write to the Free Software
#Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+import Zeroconf, socket, threading class ServicePublisher():
@@ -36,9 +36,16 @@
def RegisterService(self, name, ip, port):
+ self._RegisterService(name, ip, port) + self.retrytimer = threading.Timer(2,self.RegisterService,[name, ip, port]) + self.retrytimer.start() + def _RegisterService(self, name, ip, port): # name: fully qualified service name
self.service_name = 'Beremiz_%s.%s'%(name,self.service_type)
@@ -47,8 +54,6 @@
self.server = Zeroconf.Zeroconf(ip)
# address: IP address as unsigned short, network byte order
@@ -60,8 +65,13 @@
properties = self.serviceproperties))
+ print "MDNS brodcasting on :"+ip def UnRegisterService(self):
+ if self.retrytimer is not None: + self.retrytimer.cancel() self.server.unregisterService(
Zeroconf.ServiceInfo(self.service_type,