Agileutil v0.0.14 发布,超简单、易用的轻量级 Python3 RPC 框架

栏目: 软件资讯 · 发布时间: 5年前

内容简介:本次更新的版本是v0.0.14, 支持通过@rpc装饰器修饰一个类。 下面是一个TCP协议的服务端例子。 创建一个TcpRpcServer对象, 指定服务端监听地址和端口 通过@rpc装饰器注册需要被客户端请求的方法 调用serve()方法,...

本次更新的版本是v0.0.14, 支持通过@rpc装饰器修饰一个类。

下面是一个TCP协议的服务端例子。

  • 创建一个TcpRpcServer对象, 指定服务端监听地址和端口
  • 通过@rpc装饰器注册需要被客户端请求的方法
  • 调用serve()方法,开始处理客户端请求
from agileutil.rpc.server import TcpRpcServer, rpc

@rpc
class TestService:

    def hello(self, name):
        return "Hello, {}!".format(name)

    def add(self, a, b, c):
        return a + b + c

@rpc
def hello(name):
    return "Hello, {}!".format(name)

server = TcpRpcServer('0.0.0.0', 9988)
server.serve()

TCP RPC 客户端

  • 创建TcpRpcClient对象,指定RPC服务端地址
  • 通过call()方法,指定服务端方法名称和参数(注意:如果方法名不存在,或者服务端未调用@rpc装饰器注册,那么call()方法将抛出异常)
  • call() 方法的返回值和在本地调用一样,原来是什么返回类型,就还是什么(例如返回字典、列表、对象甚至内置类型,经过序列化后,不会发生改变)
from agileutil.rpc.client import TcpRpcClient

cli = TcpRpcClient('127.0.0.1', 9988, timeout = 2)
resp = cli.call('TestService.hello', args=('xiaoming',))
print(resp)
resp = cli.call('TestService.add', args=(1, 2, 3))
print(resp)
resp = cli.call('hello', args=('xiaoming',))
print(resp)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java并发编程的艺术

Java并发编程的艺术

方腾飞、魏鹏、程晓明 / 机械工业出版社 / 2015-7-1 / 59.00元

并发编程领域的扛鼎之作,作者是阿里和1号店的资深Java技术专家,对并发编程有非常深入的研究,《Java并发编程的艺术》是他们多年一线开发经验的结晶。本书的部分内容在出版早期发表在Java并发编程网和InfoQ等技术社区,得到了非常高的评价。它选取了Java并发编程中最核心的技术进行讲解,从JDK源码、JVM、CPU等多角度全面剖析和讲解了Java并发编程的框架、工具、原理和方法,对Java并发编......一起来看看 《Java并发编程的艺术》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具