class MyListener(object): def __init__(self): self.r = Zeroconf('') pass def removeService(self, zeroconf, type_, name): print "Service", name, "removed" def addService(self, zeroconf, type_, name): print "Service", name, "added" print "Type is", type_ info = None retries = 0 while not info and retries < 10: info = self.r.getServiceInfo(type_, name) if not info: print " (timeout)" retries += 1 print "Address is", str(socket.inet_ntoa(info.getAddress())) print "Port is", info.getPort() print "Weight is", info.getWeight() print "Priority is", info.getPriority() print "Server is", info.getServer() print "Text is", repr(info.getText()) print "Properties are", info.getProperties()
def main(ip=None): print "Multicast DNS Service Discovery for Python, version", __version__ # It MUST be 0.0.0.0. NOT the local IP address or 127.0.0.1. # Otherwise, at least in GNU/Linux, it doesn't get the service # info of services registered in other processes (e.g. "coolserver") r = Zeroconf( "0.0.0.0" ) #host_ip = socket.gethostbyname( socket.gethostname()) host_ip = get_ip_address() try: print "1. Testing query of own service..." my_service = r.getServiceInfo("_test._tcp.local.", "AndroidTest._test._tcp.local.") print " Getting self:", str(my_service) print " Query done." raw_input( 'Press <enter> to release name > ' ) finally: r.close()
def main(ip=None): print "Multicast DNS Service Discovery for Python, version", __version__ # It MUST be 0.0.0.0. NOT the local IP address or 127.0.0.1. # Otherwise, at least in GNU/Linux, it doesn't get the service # info of services registered in other processes (e.g. "coolserver") r = Zeroconf("0.0.0.0") host_ip = socket.gethostbyname(socket.gethostname()) try: print "1. Testing registration of a service..." desc = {'version': '0.10', 'a': 'test value', 'b': 'another value'} info = ServiceInfo("_http._tcp.local.", "My Service Name._http._tcp.local.", socket.inet_aton(host_ip), 1234, 0, 0, desc) print " Registering service..." r.registerService(info) print " Registration done." print "2. Testing query of service information..." service_info = r.getServiceInfo("_http._tcp.local.", "coolserver._http._tcp.local.") print " Getting 'coolserver' service: %r" % service_info if service_info is None: print " (Did you expect to see here the details of the 'coolserver' service? Try running 'nameprobe.py' before!)" print " Query done." print "3. Testing query of own service..." my_service = r.getServiceInfo("_http._tcp.local.", "My Service Name._http._tcp.local.") print " Getting self:", str(my_service) print " Query done." raw_input('Press <enter> to release name > ') print "4. Testing unregister of service information..." r.unregisterService(info) print " Unregister done." finally: r.close()
def main(ip=None): print "Multicast DNS Service Discovery for Python, version", __version__ # It MUST be 0.0.0.0. NOT the local IP address or 127.0.0.1. # Otherwise, at least in GNU/Linux, it doesn't get the service # info of services registered in other processes (e.g. "coolserver") r = Zeroconf( "0.0.0.0" ) host_ip = socket.gethostbyname( socket.gethostname()) try: print "1. Testing registration of a service..." desc = {'version':'0.10','a':'test value', 'b':'another value'} info = ServiceInfo( "_http._tcp.local.", "My Service Name._http._tcp.local.", socket.inet_aton(host_ip), 1234, 0, 0, desc ) print " Registering service..." r.registerService(info) print " Registration done." print "2. Testing query of service information..." service_info = r.getServiceInfo("_http._tcp.local.", "coolserver._http._tcp.local.") print " Getting 'coolserver' service: %r" % service_info if service_info is None: print " (Did you expect to see here the details of the 'coolserver' service? Try running 'nameprobe.py' before!)" print " Query done." print "3. Testing query of own service..." my_service = r.getServiceInfo("_http._tcp.local.", "My Service Name._http._tcp.local.") print " Getting self:", str(my_service) print " Query done." raw_input( 'Press <enter> to release name > ' ) print "4. Testing unregister of service information..." r.unregisterService(info) print " Unregister done." finally: r.close()
import socket from zeroconf.dns import ServiceInfo from zeroconf.mdns import Zeroconf import localint import sys import httprequests if __name__ == "__main__": z = Zeroconf("0.0.0.0") base_name = 'ns.local.' my_ip = localint.getLocalIP('www.google.fr') stype = '_dns._udp.local.' login = '******' password = '******' # registering DNS service and nameprobe on mDNS group try: full_name = '%s.%s'%( base_name.split('.')[0], stype ) s = ServiceInfo( stype, full_name, # FQDN mDNS name of server server = base_name, # simplified servername (xx1.local.) address = socket.inet_aton(my_ip), port = 53, properties = {"hello":"world", "dept":"ricm"}, # Setting DNS TXT records... ) z.registerService( s ) serv_name = z.probeName( base_name ) z.unregisterService( s )
def main( base_name='coolserver.local.', stype="_http._tcp.local."): # http://serverfault.com/questions/78048/whats-the-difference-between-ip-address-0-0-0-0-and-127-0-0-1 z = Zeroconf( "0.0.0.0" ) # 0.0.0.0 represents all IP addresses on the local machine try: name = '%s.%s'%( base_name.split('.')[0], stype ) s = ServiceInfo( stype, name, server = base_name, address = socket.inet_aton('127.0.0.1'), port = 8080, properties = {"hello":"world", "dept":"deustotech"}, # Setting DNS TXT records... ) z.registerService( s ) name = z.probeName( base_name ) z.unregisterService( s ) print 'Negotiated name:', name s.server = name z.checkService( s ) z.registerService( s ) raw_input( 'Press <enter> to release name > ' ) finally: z.close()
def __init__(self): self.r = Zeroconf('') pass
if not info: print " (timeout)" retries += 1 print "Address is", str(socket.inet_ntoa(info.getAddress())) print "Port is", info.getPort() print "Weight is", info.getWeight() print "Priority is", info.getPriority() print "Server is", info.getServer() print "Text is", repr(info.getText()) print "Properties are", info.getProperties() if __name__ == '__main__': import logging, sys logging.basicConfig(level=logging.WARNING) print "Multicast DNS Service Discovery for Python Browser test" if sys.argv[1:]: type_ = sys.argv[1] else: type_ = "_http._tcp.local." r = Zeroconf() try: print "1. Testing browsing for a service (ctrl-c to stop)..." try: listener = MyListener() browser = ServiceBrowser(r, type_, listener) raw_input( 'Press <enter> to exit' ) except KeyboardInterrupt, err: print 'Exiting' finally: r.close()
print " (timeout)" retries += 1 print "Address is", str(socket.inet_ntoa(info.getAddress())) print "Port is", info.getPort() print "Weight is", info.getWeight() print "Priority is", info.getPriority() print "Server is", info.getServer() print "Text is", repr(info.getText()) print "Properties are", info.getProperties() if __name__ == '__main__': import logging, sys logging.basicConfig(level=logging.WARNING) print "Multicast DNS Service Discovery for Python Browser test" if sys.argv[1:]: type_ = sys.argv[1] else: type_ = "_http._tcp.local." r = Zeroconf() try: print "1. Testing browsing for a service (ctrl-c to stop)..." try: listener = MyListener() browser = ServiceBrowser(r, type_, listener) raw_input('Press <enter> to exit') except KeyboardInterrupt, err: print 'Exiting' finally: r.close()
# info = r.getServiceInfo(type_, name) if not info: print " (timeout)" retries += 1 self.address = str(socket.inet_ntoa(info.getAddress())) def getServAddress(self): return self.address # Main of the program if __name__ == "__main__": # static variables print ("Testing browsing for DNS service ") find_type = "_dns._udp.local." zc = Zeroconf("0.0.0.0") serv_ip = "" base_name = "client.local." client_ip = localint.getLocalIP("www.google.fr") client_type = "_http._tcp.local." client_port = 55555 login = "******" password = "******" # search for real DNS server by mDNS try: listener = MyListener(zc) browser = ServiceBrowser(zc, find_type, listener) serv_ip = listener.getServAddress() test = 0