def main(): """ Avvio server con registrazione delle operazioni esegiubili presso il NameServer """ # imposto il nome dell'oggetto pyro condiviso presso il NameServer con indicazione # di quale client ha avviato il server stesso. # In questo modo ciascun client ha la possibilità di utilizzare le risorse condivise # del server da lui avviato node_number = sys.argv[1] pyro_object_name = 'node' + node_number # inizializzazione server e collegamento al NameServer attivo in rete Pyro.core.initServer() daemon = Pyro.core.Daemon() locator = Pyro.naming.NameServerLocator() ns = locator.getNS() daemon.useNameServer(ns) # rimozione dell'oggetto pyro dal NameServer nel caso in cui sia già stato registrato. # Avviene dalla seconda esecuzione di un'operazione in poi, ovvero il NameServer non # ha oggetti già registrati solamente all'avvio dell'applicazione try: ns.unregister(pyro_object_name) except NamingError: pass daemon.connect(operations(), pyro_object_name) # il server entra in attesa daemon.requestLoop()