python rpyc客户端调用服务端方法时使用注意点

编程入门 行业动态 更新时间:2024-10-28 12:31:17

使用rpyc遇到两个问题:

问题1 .

client调用server的exposed_xxxx()方法时传进去的参数类型,到了server端会改变,

打印出来是<netref class 'rpyc.coreref.type'>类型,与原来传进的类型不同

解决方法:

def exposed_clentA_will_use(self, hello):

    hello = rpyc.classic.obtain(hello)

这样就把传进来的hello转变为本地类型,如果本地没有这种类型,需要创建这种类型

比如传进来的是<class 'numpy.ndarray'>类型,但是server本地没有,则需要import numpy

 

问题2.

client调用server的方法时有报错ValueError: pickling is disabled

解决方法:
 

​rpyc_config = rpyc.core.protocol.DEFAULT_CONFIG

rpyc_config['allow_pickle'] = True

host_ip = '127.0.0.1'

conn = rpyc.connect(host_ip, port = 33333, config = rpyc_config)

​

由于是不安全的协议,需要手动允许pickle

字面意思也明确了:allow_pickle

更多推荐

python rpyc客户端调用服务端方法时使用注意点

本文发布于:2023-06-13 15:13:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1383141.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:服务端   客户端   方法   python   rpyc

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!