RMI Python Ejemplo
Remote Method Invocation (RMI)
Es un mecanismo ofrecido para invocar un método de manera remota. Proporciona un mecanismo simple para la comunicación de servidores en aplicaciones distribuidas.
Lo cómodo que tiene RMI es que las conexiones son transparentes para el programados, ya no hay que estar jugando con los socket, RMI se encarga de ello
Servidor:
#!/usr/bin/env python import Pyro.core class Servidor(Pyro.core.ObjBase): def __init__(self): Pyro.core.ObjBase.__init__(self) def hello(self, name): print "se solicito metodo hello()" saludo = "Hola %s" %name return saludo def main(): try: Pyro.core.initServer() demonio=Pyro.core.Daemon() uri=demonio.connect(Servidor(), "servidor") print "El servidor de Hola Mundo:",uri demonio.requestLoop() except: demonio.disconnect(uri.objectID) if __name__=="__main__": main()
Cliente:
#!/usr/bin/env python
import Pyro.core
import os
class Cliente(object):
def __init__(self):
self.servidor = Pyro.core.getProxyForURI("PYROLOC://localhost:7766/servidor")
def cli(self, name):
nom = self.servidor.hello(name)
print nom
Pyro.core.initClient()
client=Cliente()
def main():
os.system("clear")
while True:
n = raw_input("Nombre :")
client.cli(n)
if __name__=="__main__":
main()
Para ejecutar el servidor en GNU/Linux en la consola colocar python servidor.py , en el caso del cliente es python cliente.py
ahora un pequeño ejemplo de un servidor y cliente(s) bajo rmi
Saludos











