0

在应用程序中,我使用低级库并在单独的进程中运行它。与进程的连接是用 完成的Pyro4

库在工作之前需要初始化,之后需要资源释放。因此,我实现了状态模式以使两个状态很好地分开。

该库嵌入到一个对象中(由 调用Pyro4.Daemon)。它具有初始化方法,该方法执行必要的程序并将__class__对象更改为“就绪”对象,该方法具有调用库的所有方法。

但是,Pyro4.Proxy在调用初始化方法后看不到对象更改其方法。但是,如果您查看实际对象(在单独的解释器中,Pyro4.Daemon在线程中运行)-__class__确实会发生变化,并且那里的一切都很好。问题就在Pyro4.Proxy一边。

那么,是否可以在使用__class__时更改Pyro4?我只是做错了什么吗?

附言

当你第一次调用它时,它似乎Pyro4.Proxy抓住了远程对象的方法。然后方法被冻结。我可以以某种方式“刷新”这个程序,要求Proxy再次检查这些方法吗?

4

1 回答 1

0

啊哈!所以答案是运行:

pyro_proxy._pyroGetMetadata()

它获取有关远程对象的元数据并填充对象的方法Pyro4.Proxy

链接:

于 2015-11-19T11:56:23.157 回答