Использование Pyro4 для получения системной информации
Я пытаюсь использовать Pyro4 для автотестирования, но теперь я запутался в некоторых способностях для Pyro4. Существовал ли какой-либо метод для получения системной информации с помощью объекта Pyro4.
В моих идеях я раскрываю пирообъект, который может получить системную информацию, и удаленный компьютер может использовать этот объект для отображения системной информации. Но в моем коде удаленный компьютер всегда показывает информацию о сервере. Я думаю, что я неправильно понимаю или неправильно использую Pyro4
Извините за этот глупый вопрос, я новичок в Pyro4. Ниже приведен мой пример кода. Сервер выставляет пирообъект
# Server.py
#! /usr/bin/env python
import Pyro4
import os
class Ex(object):
def run(self):
print os.uname()
if __name__ == "__main__":
daemon = Pyro4.Daemon()
ns = Pyro4.locateNS()
uri = daemon.register(Ex())
ns.register("ex", uri)
print uri
daemon.requestLoop()
и клиент, использующий объект Pyro
# Remote
#! /usr/bin/env python
import Pyro4
if __name__ == "__main__":
uri = raw_input("input the uri> ")
fn = Pyro4.Proxy(uri)
fn.run()
PS Я знаю, что могу получить информацию об ОС на стороне клиента, но я хочу использовать объект Pyro для получения информации, а клиент делает это сам.
1 ответ
Я получил ответ!
Просто использую Pyro4.utils.flame. Этот модуль может предоставлять возможность использования модуля или функции на удаленной машине.
Ниже приведен пример кода:
Удаленная машина
python -Wignore -m Pyro4.utils.flameserver --host <yourIP> --port 9999
Гостья
#! /usr/bin/env python
import Pyro4.utils.flame
if __name__ == "__main__":
flame = Pyro4.utils.flame.connect("192.168.16.29:64024")
os = flame.module("os")
print os.listdir('.')