首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

网络编程之 RPC and RESTful

4.RPC简化与提炼

上节课解答

4.1.Json序列化

1.Json知识点

2.消息协议采用Json格式

4.2.Buffer序列化

1.pickle知识点

2.简单案例

5.Restful API

5.1.实现一个简单的REST接口

1.Restful引入

2.简单版RESTful Services

4.RPC简化与提炼

上篇回顾:

万物互联之~RPC专栏

https://www.cnblogs.com/dunitian/p/10279946.html

上节课解答

之前有网友问,很多开源的RPC中都是使用路由表,这个怎么实现?

其实路由表实现起来也简单,代码基本上不变化,就修改一下 的 和 两个方法就可以了:

4.1.Json序列化

Python比较6的同志对上节课的Code肯定嗤之以鼻,上次自定义协议是同的通用方法,这节课我们先来简化下代码:

再贴一下上节课的时序图:

1.Json知识点

官方文档:https://docs.python.org/3/library/json.html

需要注意的就是类型转换了(eg: ==> )

PS:序列化: ,反序列化:

2.消息协议采用Json格式

在原有基础上只需要修改下 的 和 方法即可

Client_Stub(类型转换都省掉了)

Server Stub()

输出图示:

4.2.Buffer序列化

RPC其实更多的是二进制的序列化方式,这边简单介绍下

1.pickle知识点

官方文档:https://docs.python.org/3/library/pickle.html

用法和 类似,PS:序列化: ,反序列化:

2.简单案例

和Json案例类似,也只是改了 和 ,我这边就贴一下完整代码(防止被吐槽)

1.Client

2.ClientStub

3.Server

4.ServerCode

5.ServerStub

输出图示:

然后关于RPC高级的内容(会涉及到 ),咱们后面说架构的时候继续,网络这边就说到这

5.Restful API

RESTful只是接口协议规范,它是建立在http基础上的,我们在网络加强篇的末尾简单带一下,后面讲爬虫应该会再给大家说的

5.1.实现一个简单的REST接口

在编写REST接口时,一般都是为HTTP服务的。为了实现一个简单的REST接口,你只需让代码满足Python的 标准即可

1.Restful引入

这边我就不自己实现了(上面手写服务器的时候其实已经展示了Restful接口是啥样),用 快速过一遍:

看个引入案例:

图示输出:

Server Log:

2.简单版RESTful Services

举个查询 信息的例子:

图示输出:(不深入说,后面爬虫会再提的)

课后拓展:

网络专题暂时告已段落了,下次再写网络相关的文章应该就剩下爬虫与架构了

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190118G04CR000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券