一、远程过程调用RPC

XML-RPC is a Remote Procedure Call method that uses XML passed via HTTP as a transport. With it, a client can call methods with parameters on a remote server (the server is named by a URI) and get back structured data. This module supports writing XML-RPC client code; it handles all the details of translating between conformable Python objects and XML on the wire.

简单地,client可以调用server上提供的方法,然后得到执行的结果。类似与webservice。

推荐查看xmlprc的源文件:C:\Python31\Lib\xmlrpc

二、实例

1) Server

代码如下:

from xmlrpc.server import SimpleXMLRPCServer

from xmlrpc.server import SimpleXMLRPCRequestHandler

def div(x,y):

return x - y

class Math:

def _listMethods(self):

# this method must be present for system.listMethods

# to work

return ['add', 'pow']

def _methodHelp(self, method):

# this method must be present for system.methodHelp

# to work

if method == 'add':

return "add(2,3) => 5"

elif method == 'pow':

return "pow(x, y[, z]) => number"

else:

# By convention, return empty

# string if no help is available

return ""

def _dispatch(self, method, params):

if method == 'pow':

return pow(*params)

elif method == 'add':

return params[0] + params[1]

else:

raise 'bad method'

server = SimpleXMLRPCServer(("localhost", 8000))

server.register_introspection_functions()

server.register_function(div,"div")

server.register_function(lambda x,y: x*y, 'multiply')

server.register_instance(Math())

server.serve_forever()

2)client

代码如下:

import xmlrpc.client

s = xmlrpc.client.ServerProxy('http://localhost:8000')

print(s.system.listMethods())

print(s.pow(2,3)) # Returns 28

print(s.add(2,3)) # Returns 5

print(s.div(3,2)) # Returns 1

print(s.multiply(4,5)) # Returns 20

3)result

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

python rpc webservice_PythonXMLRPC服务器端和客户端实例相关推荐

  1. c++ socket服务器端和客户端实例(实现简单监控功能)

    服务器端 #include "stdafx.h" #include <opencv2/opencv.hpp> #include <WinSock2.h> # ...

  2. python tcp服务器_python实现TCP服务器端与客户端的方法详解

    本文实例讲述了python实现TCP服务器端与客户端的方法.分享给大家供大家参考.具体如下: TCP服务器程序(tsTserv.py): from socket import * from time ...

  3. MQTT协议学习:3、MQTT客户端实例

    MQTT协议学习:3.MQTT客户端实例 文章目录 MQTT协议学习:3.MQTT客户端实例 1. 前言 2. Paho MQTT (1). Go客户端实例 (2). Python客户端实例 (3). ...

  4. python下载文件传到服务器_python实现FTP文件传输的方法(服务器端和客户端)

    用python实现FTP文件传输,包括服务器端和客户端,要求 (1)客户端访问服务器端要有一个验证功能 (2)可以有多个客户端访问服务器端 (3)可以对重名文件重新上传或下载 FTP(File Tra ...

  5. python下载文件传到服务器_python实现FTP文件传输(服务器端和客户端)

    用python实现FTP文件传输,包括服务器端和客户端,要求 (1)客户端访问服务器端要有一个验证功能 (2)可以有多个客户端访问服务器端 (3)可以对重名文件重新上传或下载 FTP(File Tra ...

  6. python应用系列教程——python使用socket创建udp服务器端和客户端

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python使用socket创建udp服务器端和客户端. 服务器端为一个时间戳服务器,在接收到客户端发来的数据后,自动回复. 客户端,等待用户 ...

  7. python——通过socket实现服务器端和客户端的在线聊天

    前言:本文讲解涉及到python中socket函数用法,需要巩固基础知识的可以查看下面博客 python--Socket网络编程(详细讲解)(一)_xiaofengdada的博客-CSDN博客_soc ...

  8. 学习笔记-RPC远程调用概念和实例

    RPC远程调用概念和实例 一定要注意顺序,先hook,然后invoke,再rpc 逆向三段: 第三段RPC:Remote Procedure Call 远程调用 FRIDA精髓:远程调动 frida( ...

  9. 【Socket】Python UDP和TCP的socket实例

    Socket UDP socket UDP Server端 UDP Client端 TCP socket TCP Server端 TCP Client端 总结 代码下载 Socket Socket又称 ...

最新文章

  1. 快速增强路由器安全的十个小技巧
  2. srwebsocket 服务器过段时间会关闭_王者荣耀:伽罗大招遭到暗改?开启后直接冷却时间,无法手动关闭...
  3. 【终极方法】Unknown initial character set index ‘255‘ received from server. Initial client characte
  4. Jenkins系列之五——通过Publish over SSH插件实现远程部署
  5. MFC工作笔记0009---VC++中 PostMessage和SendMessage的区别
  6. Linux 下的驱动开发最简单例子
  7. AtomicInteger简介
  8. 代码重构之旅(一) 项目结构
  9. php 改变页面元素,动态更改网页HTML元素(对象)内容_经验交流
  10. 如何使用wordnet
  11. 【车牌识别】基于matlab GUI模板匹配车牌识别(带面板)【含Matlab源码 1215期】
  12. matlab与数学模型相结合例题,数学知识、数学建模、现代数学软件关系 与结合...
  13. 北大核心期刊目录2020_音乐舞蹈类核心期刊目录(2020年最新收藏版)
  14. PHP获取当前域名(判断域名)
  15. 运放输入偏置电流方向_运算放大器的输入偏置电流
  16. 什么是索引,索引的作用,什么时候需要使用索引,什么时候不需要使用索引
  17. 6S大气校正模型源码
  18. MariaDB Galera Cluster 集群部署
  19. Intel x86_64 CPUID指令介绍
  20. 让NFT-Fi流行起来

热门文章

  1. 嵌入式C语言之struct内存分配分析
  2. ios手机 php无法上传文件,【已解决】uni.uploadFile 苹果ios图片上传不成功
  3. mysql分区表mycat_MySQL 中间件之Mycat垂直分表配置
  4. 【音乐】想不起来歌名的瞎唱
  5. 打CALL APP 项目进展 总体计划
  6. 171. Excel Sheet Column Number (Easy)
  7. jQuery$命名冲突问题解决方法
  8. [转载]MVVM、MVVMLight、MVVMLight Toolkit之我见
  9. 福州公交车与拖拉机相撞1人死亡
  10. 马上就校招了,是要去实习还是复习?