----- server.py ------ from SimpleXMLRPCServer import SimpleXMLRPCServer
class TinyServer: def __init__(self): self._interface = None self._xmlrpc_server = SimpleXMLRPCServer(("localhost", 8000)) self._xmlrpc_server.register_introspection_functions() def set_interface(self, interface): self._interface = interface self._xmlrpc_server.register_instance(interface) def get_interface(self): return self._interface def start(self): self._xmlrpc_server.serve_forever() if __name__ == "__main__": import random random.seed() class MyLogic: def attack(self, dmg): return "Attacking: %s damage (%s)" % (str(random.randrange(dmg[0], dmg[1]+1)), str(dmg[0])+"d"+str(dmg[1])) server = TinyServer() server.set_interface(MyLogic()) server.start() ----- client.py ------ from xmlrpclib import ServerProxy import time s = ServerProxy("http://localhost:8000") # Print list of available methods while 1: print s.attack((1,5)) time.sleep(3) ---- usage ---- C:\Documents and Settings\Administrador\Escritorio>server.py (Open other shell and launch client....) C:\Documents and Settings\Administrador\Escritorio>client.py Attacking: 2 damage (1d5) Attacking: 3 damage (1d5) Attacking: 3 damage (1d5) .... .... (loop) Thanks all. -- Juan José Alonso. KarlsBerg. eMail: [EMAIL PROTECTED] MSN: [EMAIL PROTECTED]