我试图使用RPyC将一个对象作为参数从客户机传递到服务器。但是服务器无法访问对象,我收到了一个AttributeError。
服务器代码:
class AgentService(rpyc.Service):
def exposed_func(self, obj):
return obj.name客户端代码
self._conn = connect(agent_host, agent_port, config = {"allow_public_attrs" : True})
return self._conn.root.func(obj)returns: AttributeError: cannot access 'name'.
我正在使用的RPyC服务和编码的网站,这应该是可行的。
有什么想法吗?
发布于 2012-08-30 08:55:56
需要在客户端和服务器端调整配置dict。
如果只需要访问公共变量,则更改的主要值是allow_public_attrs : True,如果需要访问私有和受保护的变量和方法,则需要访问allow_all_attrs : True (即以“_”开头的变量和方法)。
在客户端,连接代码按上述问题和服务器代码编写,如下所示:
server = ThreadedServer(MyService, port = 12345,
protocol_config = {"allow_public_attrs" : True})有关所有可用配置选项的更多信息,请参见:
protocol.html
https://stackoverflow.com/questions/12028243
复制相似问题