首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

erpc(EmbeddedRPC)入门笔记

最近在忙一个IOT设备的项目,想设计一个通信系统通过串口控制设备(freertos)的运行。按照传统的设计思路,先要定义一套串口通信协议,在这套协议中传输层协议、应用层协议一个都不能少。每一层协议都要自己实现。数据编码/解码,数据校验,容错,这些非常基础的东西都要自己实现。 等这些协议都实现了,才是能开始设计真正的业务逻辑。 和同事商议后,一致认为要是照这么干,黄花菜都凉了。我们的生命不能浪费在这些无意义的劳动上! 我想到了RPC概念是适用于我们的应用场景的。实际我们就是在串口上实现一个客户端请求->服务端响应的模型。除了传输层是串行通信,这与我们一般在tcp/ip网络上常见的client/server模型没啥区别,就是1对1简化版的client/server模型。比如也许google的基于protocol bufffers的grpc就能满足要求。如果能利用现成的开发框架,可以大大减化开发流程,减少开发时间。

03

『高级篇』docker之微服务thrift安装使用(十)

PS:我想开发一个快速计算的RPC服务,它主要通过接口函数getInt对外提供服务,这个RPC服务的getInt函数使用用户传入的参数,经过复杂的计算,计算出一个整形值返回给用户;服务器端使用java语言开发,而调用客户端可以是java、c、python等语言开发的程序,在这种应用场景下,我们只需要使用Thrift的IDL描述一下getInt函数(以.thrift为后缀的文件),然后使用Thrift的多语言编译功能,将这个IDL文件编译成C、java、python几种语言对应的“特定语言接口文件”(每种语言只需要一条简单的命令即可编译完成),这样拿到对应语言的“特定语言接口文件”之后,就可以开发客户端和服务器端的代码了,开发过程中只要接口不变,客户端和服务器端的开发可以独立的进行。

02
领券