基于zerorpc和gevent的简单rpc

xnrpc的Python项目详细描述


xnrpc

xnrpc是一个轻量级的、可靠的、与语言无关的库,用于 服务器端进程之间的分布式通信。 它建立在zerorpc和gevent之上,简单、高效、健壮。

功能

  • 支持心跳和超时
  • 优雅的异常处理程序
  • 支持管道命令
  • 异步I/O,支持大并发
  • 使用非常简单

demo

一个简单的服务器和客户端示例:

fromxnrpc.serverimportRpcInterface,ServerManagerfromxnrpc.clientimportopen_clientfromxnrpc.common.logimportget_log_log=get_log(__name__)classOperationRpcInterface(RpcInterface):defls_file(self):_log.info('Operation ls file')returnNonedefcheck_ip(self):_log.info('Operation check ip')returnNoneif__name__=='__main__':# 启动RPC服务器rpc_interface=OperationRpcInterfaceurl='tcp://127.0.0.1:7772'server=ServerManager(url,rpc_interface,name='Test Server')server.start()# 建立一个客户端连接withopen_client(url)asclient:client.ls_file()client.check_ip()# 停止服务器server.stop()

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

推荐PyPI第三方库


热门话题
java启动时加载值示例代码(xml)   java什么是视图索引?当视图组将视图添加到索引1时会发生什么   java如何调用HttpUrlConnection disconnect()   java将日期转换为毫秒,givse错误结果   java正在处理“.”上的IP地址拆分字符串性格   java proguard不创建输出jar   编译中的Java默认修饰符   java中的管道I/O流   java为集合返回的最佳迭代器类型?拆分器,流?   java如何修改JTextArea中tab键的行为?   来自Android Studio HTML文档的外部应用程序中的java Open Local PDF   组件和轻量级/重量级之间的java差异   java在有向图中查找模式   python可以创建运行服务器端程序的Java Web Start应用程序吗?   NiFi中基于内容的java更新属性