zoukankan      html  css  js  c++  java
  • Python之Rpyc模块

    简介

    rpyc (Remote Python Call)为分布式计算环境提供了优良的基础平台。使用rpyc编写c/s结构程序,完全不用考虑老式的socket编程,现在只用编写简单的3、5行代码即可完成以前的数千行代码的功能。

    Remote Python Call (RPyC) 是一个 Python 的库用来实现 RPC 和分布式计算的工具。支持同步和异步操作、回调和远程服务以及透明的对象代理。

    示例

    Server端代码

    #!/usr/bin/env python
    # -*- encoding: utf-8 -*-
    
    import time
    from rpyc import Service
    from rpyc.utils.server import ThreadedServer
    
    class TimeService(Service):
        # 对于服务端来说, 只有以"exposed_"打头的方法才能被客户端调用,所以要提供给客户端的方法都得加"exposed_"
        def exposed_get_time(self):
            return time.ctime()      #time模块中的一个内置方法
        
        
    s=ThreadedServer(service=TimeService,port=12233,auto_register=False)
    s.start()

    客户端代码

    #!/usr/bin/env python
    # -*- encoding: utf-8 -*-
    
    import rpyc
    
    conn
    = rpyc.connect('localhost',12233) #调用服务器端的方法,格式为:conn.root.xxx。xxx代表服务器端的方法名 # get_time是服务端的那个以"exposed_"开头的方法 result = conn.root.get_time() print result conn.close()

    RPYC重点:

    1.Client一定要 close()连接哦!
    
    2.Server中exposed_打头的函数才能被 客户端调用。所以如果写服务端代码的时候想要让客户端调用 就要加这一个前缀。
    
    3.client要访问服 务器端代码通过c.root.xxx才能访问,如:c.root.get_time() 调用服务器端get_time方法
    
    4.RPYC没有认证机制,任何客 户端都可以直接访问服务器端的暴露的方法

    原文链接:

    http://doudouclever.blog.163.com/blog/static/17511231020116263409365/

  • 相关阅读:
    用迭代法求x=a−−√。求平方根的迭代公式为 xn+1 = 12(xn + axn) 要求前后两次求出的x的差的绝对值小于10−5
    C 数组
    fofa自动化爬虫脚本更新+详解
    c# winfrom接收http协议body数据
    FLW要求
    modbus工具问题
    2020年总结
    WIFI K型热电偶传感器
    泛海三江烟感JTY-GD-H361 V2.7
    工位终端
  • 原文地址:https://www.cnblogs.com/MacoLee/p/5830165.html
Copyright © 2011-2022 走看看