python调用远端对象及对象属性

本文介绍了如何通过Python的rpyc库建立远程服务端,并提供了一个服务端(server.py)和本地客户端(local.py)的示例。服务端创建了一个类A并公开了获取A实例的方法,客户端则能远程调用该方法,获取并访问远端对象的属性。此示例展示了rpyc在远程对象交互中的应用。
摘要由CSDN通过智能技术生成

需要安装rpyc模块

pip install rpyc

服务端示例server.py:

from rpyc import Service  
from rpyc.utils.server import ThreadedServer

class A():
    def __init__(a):
        self.a = a

a = A(233)

class TestService(Service):
    
    # 需要些exposed_开头,表示公开暴露的方法
    def exposed_getA(self):
        return a

print('远端服务端启动')
# protocol_config配置表示开放远端对象的属性访问
server = ThreadedServer(TestService, auto_register=False, hostname = 'localhost', port=9999, protocol_config={"allow_all_attrs":True,
                                 "allow_setattr": True,
                                 "allow_delattr": True,})
server.start()

本地代码local.py:

import rpyc

conn = rpyc.connect(host="localhost", port=9999)
aaa = conn.root.getA()

print(aaa) # 得到的是远端的A()对象的内存地址
print(aaa.a) # 输出结果为233

conn.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值