48 def _RegisterService(self, name, ip, port): |
48 def _RegisterService(self, name, ip, port): |
49 # name: fully qualified service name |
49 # name: fully qualified service name |
50 self.service_name = 'Beremiz_%s.%s'%(name,self.service_type) |
50 self.service_name = 'Beremiz_%s.%s'%(name,self.service_type) |
51 self.name = name |
51 self.name = name |
52 self.port = port |
52 self.port = port |
53 # No ip params -> get host ip |
|
54 if ip is None: |
|
55 ip = self.gethostaddr() |
|
56 |
53 |
57 self.server = Zeroconf.Zeroconf(ip) |
54 self.server = Zeroconf.Zeroconf(ip) |
|
55 print "MDNS brodcasting on :"+ip |
58 |
56 |
59 # address: IP address as unsigned short, network byte order |
57 if ip == "0.0.0.0": |
|
58 ip = self.gethostaddr() |
|
59 print "MDNS brodcasted service address :"+ip |
60 self.ip_32b = socket.inet_aton(ip) |
60 self.ip_32b = socket.inet_aton(ip) |
61 |
61 |
62 self.server.registerService( |
62 self.server.registerService( |
63 Zeroconf.ServiceInfo(self.service_type, |
63 Zeroconf.ServiceInfo(self.service_type, |
64 self.service_name, |
64 self.service_name, |
65 self.ip_32b, |
65 self.ip_32b, |
66 self.port, |
66 self.port, |
67 properties = self.serviceproperties)) |
67 properties = self.serviceproperties)) |
68 print "MDNS brodcasting on :"+ip |
|
69 self.retrytimer=None |
68 self.retrytimer=None |
70 |
69 |
71 def UnRegisterService(self): |
70 def UnRegisterService(self): |
72 if self.retrytimer is not None: |
71 if self.retrytimer is not None: |
73 self.retrytimer.cancel() |
72 self.retrytimer.cancel() |