不带传输层的简单JSON-RPC服务

JSONRPCBase的Python项目详细描述


jsonrpcbase

https://ci.appveyor.com/api/projects/status/mgn5i4m1wx2nu70y?svg=truehttps://circleci.com/gh/level12/jsonrpcbase.svg?style=shieldhttps://codecov.io/gh/level12/jsonrpcbase/branch/master/graph/badge.svg

简介

不带传输层的简单JSON-RPC服务

该库旨在作为辅助库,方便使用UNIX/TCP套接字实现JSON-RPC服务。 类似于没有复杂特殊要求的传输协议。你需要使用合适的交通工具 与此库的协议,以实际提供工作的JSON-RPC服务。

功能

  • 使用方便,体积小,测试良好。
  • 支持JSON-RPC2.0。与v1.x风格的调用兼容,但v1.0类提示除外。
  • 可选参数类型验证,大大简化了jsonrpc方法数据的开发。

示例

示例用法:

import jsonrpcbase

chat_service = jsonrpcbase.JSONRPCService()

def login(username, password, timelimit=0):
    (...)
    return True

def receive_message(**kwargs):
    (...)
    return chat_message

def send_message(msg):
    (...)

if __name__ == '__main__':

    # Adds the method login to the service as a 'login'.
    chat_service.add(login, types=[basestring, basestring, int])

    # Adds the method receive_message to the service as a 'recv_msg'.
    chat_service.add(receive_message, name='recv_msg', types={"msg": basestring, "id": int})

    # Adds the method send_message as a 'send_msg' to the service.
    chat_service.add(send_message, 'send_msg')

    (...)

    # Receive a JSON-RPC call.
    jsonmsg = my_socket.recv()

    # Process the JSON-RPC call.
    result = chat_service.call(jsonmsg)

    # Send back results.
    my_socket.send(result)

问题和评论

请访问:http://groups.google.com/group/blazelibs

当前状态

看起来很稳定,但据我所知还没有被广泛应用。

development version 可使用easy_install JSONRPCBase==dev安装。

学分

此项目最初由以下人员开发:

朱哈尼奥曼 http://bitbucket.org/fuzzybyte/jsonrpcbase/src

变更日志

0.2.0发布于2016年11月30日

  • 添加Python3支持(3.4和3.5)
  • 在Circleci和Appveyor上设置持续集成测试
  • 测试覆盖率在codecov上

0.1.2 2012-03-08发布

  • 使用实例方法而不使用参数时的固定参数验证逻辑
    (姆莱韦林)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java迭代图形框架聚合达到内存限制的消息   反编译和开发人员向Android应用程序提供java安全密钥   活页夹中的java Vaadin上传组件,例如Crud编辑器   java如何定义0090当我有了每个字符   带有AOP的java截取私有注释方法   在Java中暂停并恢复动画(thread.sleep)   java在JavaFX中从不同的控制器向TableView添加行   java如何通过Spring使用脚本初始化inmemory HSQLDB   windows找到了绝对的java。通过编程从java代码获取exe路径   Java同步、信号量和队列的多线程性能   java异步任务回调未调用   java在迷宫中用坐标寻找最短路径   Java:并行处理数组,查找发生异常的位置   java我无法理解我收到的错误   如何调用。bat文件,并使用java中的ProcessBuilder发送字符串   java在mysql数据库中插入日期   将ArrayList的内容显示为格式正确的JSON for Java REST API   java@OneToMany注释SQLSyntaxErrorException:ORA000904无效标识符