文档章节

Python网络编程基础【17章】 -- SimpleXMLRPCServer

mickelfeng
 mickelfeng
发布于 2017/08/04 15:04
字数 124
阅读 17
收藏 0

server:

#coding:utf-8
from SimpleXMLRPCServer import SimpleXMLRPCServer,SimpleXMLRPCRequestHandler
from SocketServer import ThreadingMixIn

class Math:
    def pow(self,x,y):
        return x**y
    def hex(self,x):
        return "%x"% x

class ForkingServer(ThreadingMixIn,SimpleXMLRPCServer):
    pass

serveraddr=('',8765)

srvr=ForkingServer(serveraddr,SimpleXMLRPCRequestHandler)
srvr.register_instance(Math())
srvr.register_introspection_functions()
srvr.serve_forever()

client:

#coding:utf-8
import xmlrpclib,code

url="http://localhost:8765/"
s=xmlrpclib.ServerProxy(url)

interp=code.InteractiveConsole({'s':s})
interp.interact("you can now use the project s to interact with the server")

 

C:\Python27\python.exe D:/Python/demo/TCP_UDP/testclient.py
>>> you can now use the project s to interact with the server

>>> s.pow(2,8)
256
>>> s.hex(255)
'ff'
>>> s.system.listMethods()
['hex', 'pow', 'system.listMethods', 'system.methodHelp', 'system.methodSignature']
>>> 

另外一个类DocXMLRPCServer

© 著作权归作者所有

mickelfeng

mickelfeng

粉丝 237
博文 2803
码字总数 605868
作品 0
成都
高级程序员
私信 提问
Python 高效编程技巧

[本文英文原文链接:Improving Your Python Productivity / 外刊IT评论] 我已经使用Python编程有多年了,即使今天我仍然惊奇于这种语言所能让代码表现出的整洁和对 DRY编程原则的适用。这些年...

红薯
2012/12/25
12.3K
54
Python 聊天室 II(SimpleXMLRPCServer模块实现)

并不是上一个用SocketServer的聊天室的延续。用远程调用完成的聊天室。 正好有Java的RMI聊天室的作业,就先用Python写了一个简单的类似远程调用的东西,逻辑完成之后,在Java上写一遍也是水到...

FuniK
2012/12/19
754
0
Python3简单使用xmlrpc实现RPC

RPC 先说说什么是RPC,RPC(Remote Procedure Call)——远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如T...

Cloudox_
2017/12/25
0
0
买《Python从小白到大牛》专题视频课程,送配套纸质图书

经过一年多时间的呕心沥血,Python立体化图书——《Python从小白到大牛》即将与大家见面了。所谓立体化图书包括:电子图书、视频、课件和服务等内容。 《Python从小白到大牛》纸质图书将于9...

tony关东升
2018/07/23
0
0
从0到1的逆袭之路,Python改变你的学习方式

  随着机器学习的兴起,Python 逐步成为了「最受欢迎」的语言。它简单易用、逻辑明确并拥有海量的扩展包,因此其不仅成为机器学习与数据科学的首选语言,同时在网页、数据爬取可科学研究等...

北北北乐
2018/08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一起来学Java8(四)——复合Lambda

在一起来学Java8(二)——Lambda表达式中我们学习了Lambda表达式的基本用法,现在来了解下复合Lambda。 Lambda表达式的的书写离不开函数式接口,复合Lambda的意思是在使用Lambda表达式实现函...

猿敲月下码
14分钟前
4
0
debian10使用putty配置交换机console口

前言:Linux的推广普及,需要配合解决实际应用方能有成效! 最近强迫自己用linux进行实际工作,过程很痛苦,还好通过网络一一解决,感谢各位无私网友博客的帮助! 系统:debian10 桌面:xfc...

W_Lu
45分钟前
10
0
aelf Enterprise 0.8.0 beta有奖公测,“Bug奖金计划”重磅开启

2019年9月30日,aelf Enterprise 0.8.0 beta版正式发布。aelf Enterprise 0.8.0 beta是一个完备的区块链系统, 包含完备的区块链系统、开发套件、开发文档、以及配套的基础应用和基础服务。 ...

AELF开发者社区
47分钟前
8
0
oracle 初始化数据库脚本

create user lpf identified by 123456; create tablespace lpf_ts_cms datafile '/opt/app/oracle/product/11.2.0/lpf.dbf' size 200M; alter user lpf default tablespace lpf_ts_cms; sel......

internetafei
51分钟前
8
0
深入了解Redis底层数据结构

说明 说到Redis的数据结构,我们大概会很快想到Redis的5种常见数据结构:字符串(String)、列表(List)、散列(Hash)、集合(Set)、有序集合(Sorted Set),以及他们的特点和运用场景。不过它们是...

TurboSanil
52分钟前
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部