runtime/ServicePublisher.py
changeset 648 73295e742da2
parent 647 edce87412f5a
child 726 ae63ccc29444
equal deleted inserted replaced
647:edce87412f5a 648:73295e742da2
    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()