文档章节

简单使用RPC搭建远程访问接口

hc321
 hc321
发布于 08/11 00:39
字数 389
阅读 5
收藏 0

因为之前自学php,所以知道可以通过http协议,web server访问服务器,之前也是将算法放到服务器的flask上供远程访问接口使用,最近了解到有个RPC的东西,使用Python模块zerorpc搭建RPC更简单快捷。服务端和客户端都要安装zerorpc,将服务端的ip和端口号写入server.py文件中运行(不能停止),客户端client.py中填写服务端的ip和端口号即可运行访问。代码如下:

Server.py

import zerorpc
class doubleRPC(object):
    def double2(self, num):
        return num*2

serv = zerorpc.Server(doubleRPC())
serv.bind("tcp://0.0.0.0:4243")
serv.run()

Client.py 本机实验室127.0.0.1 远程则换成服务器的ip

import zerorpc
c = zerorpc.Client()
c.connect("tcp://127.0.0.1:4243")
print c.double2("RPC")

流式相应(Streaming Responses) 这个代码非原创

Server.py

import zerorpc
class StreamingRPC(object):
    @zerorpc.stream
    def streaming_range(self, fr, to, step):
        return xrange(fr, to, step)

s = zerorpc.Server(StreamingRPC())
s.bind("tcp://0.0.0.0:4242")
s.run()

Client.py

import zerorpc
c = zerorpc.Client()
c.connect("tcp://127.0.0.1:4242")

for item in c.streaming_range(10, 20, 2):
    print item

第一类异常(First-class exception) 这个代码非原创

Server.py

import zerorpc

class ExceptionalRPC(object):
	def bad(self):
    	raise Exception(":P")

s = zerorpc.Server(ExceptionalRPC())
s.bind("tcp://0.0.0.0:4242")
s.run()

Client.py

import zerorpc

c = zerorpc.Client()
c.connect("tcp://127.0.0.1:4242")

try:
	c.bad()
except Exception, e:
	print "An error occurred: %s" % e

© 著作权归作者所有

共有 人打赏支持
hc321
粉丝 1
博文 67
码字总数 32563
作品 0
海淀
程序员
私信 提问
Python3简单使用xmlrpc实现RPC

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

Cloudox_
2017/12/25
0
0
Hadoop中RPC机制简介

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

wall--e
2016/04/16
385
0
【远程调用框架】如何实现一个简单的RPC框架(三)优化一:利用动态代理改变用户服务调用方式

【远程调用框架】如何实现一个简单的RPC框架(三)优化一:利用动态代理改变用户服务调用方式 原创 2017年03月29日 09:43:08 514 【如何实现一个简单的RPC框架】系列文章: 【远程调用框架】...

wsl_Mr
2017/10/20
0
0
分享搭建一个最简单的Demo框架

Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起。 1.单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成...

小刀爱编程
10/10
0
0
Rmote学习笔记-zyh

RMI的概念: RMI(Remote Method Invocation)远程方法调用是一种计算机之间利用远程对象互相调用实现双方通讯的一种通讯机制。使用这种机制,某一台计算机上的对象可以调用另外一台计算机上的...

颖辉小居
2016/11/13
8
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周二乱弹 —— 请上车吧

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @2amor :分享王菲的单曲《闷》 《闷》- 王菲 手机党少年们想听歌,请使劲儿戳(这里) @開源中國周杰倫 :昨天睡觉肚子疼,妈蛋,半夜爬起来...

小小编辑
38分钟前
212
8
工作中如何做好技术积累

参考:https://tech.meituan.com/study_vs_work.html 看了这篇文章,觉得总结得非常好,因此摘抄了一些关键点,以便自己经常翻阅。 引言 在繁忙的工作中做好技术积累,构建个人核心竞争力. 在...

grace_233
49分钟前
6
0
day146-2018-11-13-英语流利阅读-待学习

5 岁“牛娃”简历给 985 精英一个暴击 Lala 2018-11-13 1.今日导读 “不要让孩子输在起跑线上”,似乎已成为了当下最流行的名句,每个身为家长或还未成为家长的人都不得不思考这句话的分量。...

飞鱼说编程
今天
5
0
Mariadb二进制包安装,Apache安装

安装mariadb 下载二进制包并解压 [root@test-a src]# wget https://downloads.mariadb.com/MariaDB/mariadb-10.2.6/bintar-linux-glibc_214-x86_64/mariadb-10.2.6-linux-glibc_214-x86_64.t......

野雪球
今天
4
0
ConcurrentHashMap 高并发性的实现机制

ConcurrentHashMap 的结构分析 为了更好的理解 ConcurrentHashMap 高并发的具体实现,让我们先探索它的结构模型。 ConcurrentHashMap 类中包含两个静态内部类 HashEntry 和 Segment。HashEnt...

TonyStarkSir
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部