本文档包括:

特性

安装

使用

特性

当前支持的特性:

支持同步调用

支持超时控制

关键类:

sofa.pbrpc.client.Channel

sofa.pbrpc.client.Controller

sofa.pbrpc.client.Error

sofa.pbrpc.client.TimeoutError (该异常为sofa.pbrpc.client.Error的子类)

如果调用过程出现错误,则会抛出异常,异常类型包括:

超时,抛出sofa.pbrpc.client.TimeoutError

其他错误,抛出sofa.pbrpc.client.Error或者其他Exception子类

如果远程server端通过controller.SetFailed(reason)设置了调用失败,则在client端:

调用本身返回None

controller.Failed()返回True

controller.ErrorText()返回错误信息

安装

使用

使用样例:

from sofa.pbrpc import client

import echo_service_pb2

import sys

# Create service stub.

channel = client.Channel("localhost:8080")

service = echo_service_pb2.EchoServer_Stub(channel)

# Create controller.

# We set timeout to 1.5 seconds by controller.SetTimeout() method.

controller = client.Controller()

controller.SetTimeout(1.5)

# Prepare request.

request = echo_service_pb2.EchoRequest()

request.message = 'Hello World'

# Call method.

try:

response = service.Echo(controller, request)

except client.TimeoutError:

print "ERROR: RPC timeout"

sys.exit(1)

except Exception as e:

print "ERROR: RPC fail: %s" % e

sys.exit(1)

# Check remote failure.

if controller.Failed():

print "ERROR: Remote fail: %s" % controller.ErrorText()

sys.exit(1)

# OK, print response.

print "Response:\n\n%s" % response

python 客户端_Python客户端相关推荐

  1. python开发客户端_python用700行代码实现http客户端

    本文用python在TCP的基础上实现一个HTTP客户端, 该客户端能够复用TCP连接, 使用HTTP1.1协议. 一. 创建HTTP请求 HTTP是基于TCP连接的, 它的请求报文格式如下: 因此, ...

  2. python调用微信客户端_python模拟微信客户端打开链接Python Logging 模块研究

    背景 在一个新的项目里面加入了日志功能,想自己写一个,但是一个偶然的机会,通过google发现Python内建了一个非常强大的日志(log)模块:logging.粗略的研究了一下,下面是我的一些心得札 ...

  3. python编写ftp客户端_用Python写FTP客户端程序

    0 前言: ftp客户端相信大家都用过,那么我们为什么还要用Python写ftp客户端呢? 我想有两个原因: 一是写出更好的ftp客户端应用程序,方便大家使用: 二是定制一些特殊服务,例如每天定时下载 ...

  4. php socket 握手,python Socket之客户端和服务端握手详细介绍

    这篇文章主要为大家详细介绍了python Socket之客户端和服务端握手,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 简单的学习下利用socket来建立客户端和服务端之间的连接并且发送数据 1 ...

  5. 基于Python的ModbusTCP客户端实现

    Modbus协议是由Modicon公司(现在的施耐德电气Schneider Electric)推出,主要建立在物理串口.以太网TCP/IP层之上,目前已经成为工业领域通信协议的业界标准,广泛应用在工业 ...

  6. Requests 1.0 发布,Python 的 HTTP 客户端库

    Python 的 HTTP 客户端库 -- Requests 发布了 1.0 版本,该版本确定了最终的公共 API 方法. Requests 是一个 Python 的 HTTP 客户端库. 示例代码: ...

  7. Python编写的客户端给服务器发送指令执行相应的命令并返回结果

    闲来无事,用Python写个客户端与服务器端应答的程序,主要原理就是客户端通过tcp协议与服务器端通信,客户端给服务器端发送指令,服务器执行指令后把相应的结果返回给客户端,客户端打印结果,代码比较简单 ...

  8. python语言编写的modbus协议_基于Python的ModbusTCP客户端实现

    Modbus协议是由Modicon公司(现在的施耐德电气Schneider Electric)推出,主要建立在物理串口.以太网TCP/IP层之上,目前已经成为工业领域通信协议的业界标准,广泛应用在工业 ...

  9. Python网络编程——客户端与服务端简单信息发送与接受

    python网络编程-服务端与客户端简单信息发送与接受 思考一下我们进行网络中信息通信都需要什么或者说需要具备什么条件才能进行网络通信? 首先我们需要知道给谁发送,也就是目标机是谁,然后我们需要知道对 ...

  10. python交互式编程客户端_【python】UDP网络编程:实现服务端与客户端的交互、简单的AI智能模式...

    关于UDP网络编程 UDP(user datagram protocol)的中文叫用户数据报协议,属于传输层.UDP是面向非连接的协议,它不与对方建立连接,而是直接把要发的数据发给对方. [UDP网络 ...

最新文章

  1. 生物战教训、生物安全问题以及未来监控军民两用生物技术扩散的手段
  2. 【 Verilog HDL 】循环语句总结
  3. 转,帅气的表格隔行换色+鼠标经过变色、点击变色
  4. Python3.X新特性之print和exec
  5. CentOS6 安装 MySQL 并配置
  6. 从接触FPGA开始...
  7. ubuntu 的重要一课
  8. android go 测试,从Gradle在Android中进行JUnit测试:“程序包android.test不存在”
  9. 安装系统出现Winload.exe错误0xc000000e解决方法
  10. 用PLC和触摸屏设计用户可编程的控制项目
  11. 实现Springboot整合UReport2
  12. 风力摆控制系统赛题分析
  13. 高德地图php接口,简单使用高德地图开放平台API
  14. 开源语音助手_开源语音助手软件入门
  15. C#正则表达式测试小工具
  16. 如何申请免费的云主机
  17. 大学android五子棋课程目的,拓展性课程(五子棋)教案.pdf
  18. TL431驱动三线PT100热电阻电路设计(转)
  19. 自行更换锐捷RG-EG2000系列的内置硬盘
  20. 接收opc服务器消息,OPCClient,读取opc服务器的数据

热门文章

  1. IE10、IE11 ASP.Net 网站无法写入Cookie 问题
  2. 【linux】具体芯片MACHINE_START处理
  3. 讲解对于Java中如何计算日期之间的天数知识
  4. Perl 学习手札之十三:building function
  5. 概率论综述(题型篇)
  6. java 八进制 转义字符_string中转义字符
  7. Android Fragment学习
  8. 计算机网络安全级别设置,电脑IE浏览器安全级别如何设置【图文】
  9. 3-VUE -set
  10. 用策略屏蔽135 139 445 3389端口+网络端口安全防护技 .