当前位置: 首页 > news >正文

网站建设 图标爱站网工具

网站建设 图标,爱站网工具,免费制作简历模板网站,成都公司做网站的C轻量级的RPC库,可用于任何项目中,甚至单片机。 方便平台直接相互进行功能调用。 基于asio的实现 asio_net 也可用在esp32适用于ESP32/ESP8266的实现 esp_rpc 目前也有一些轻量的库,参考了protobuf(或者依赖它)&…

C++轻量级的RPC库,可用于任何项目中,甚至单片机。
方便平台直接相互进行功能调用。

  • 基于asio的实现 asio_net 也可用在esp32
  • 适用于ESP32/ESP8266的实现 esp_rpc

目前也有一些轻量的库,参考了protobuf(或者依赖它),基于IDL。
其实对于中小型的项目而言,使用IDL并不是一个好的选择,使用也不方便。

仓库地址

https://github.com/shuai132/RpcCore

以下是README,方便SEO。最新文档请打开上述链接。

RpcCore

RPC Core library, designed for IOT, support most microchip(Arduino、STM32、ESP8266)

Introduction

完善的RPC框架(如gRPC)使用复杂,尤其在嵌入式平台更不现实。
本项目提供轻量级的消息注册、解析分发功能以及方便使用的API。

注:本仓库只提供协议层和API,不包含传输层实现。基于TCP的实现见文末Links

Features

  • 简单高效易用 支持性能受限的平台
  • Header-Only 仅有头文件
  • 支持任意形式的连接(串口、TCP等)
  • 提供基本数据类型、结构体、字符串、二进制类型的序列化实现
  • 方便自定义消息类型 提供了Flatbuffersjson的实现
  • 提供Dispose基于RAII自动取消请求 方便UI相关应用
  • 支持设置超时重试次数
  • std::future接口

Requirements

  • C++11
  • 数据收发需要完整的数据包,例如WebSocket。
    如果用Socket/串口等需要自己实现消息打包解包。可使用:PacketProcessor
    或 data_packer.hpp

Usage

  1. 在自己的项目添加搜索路径
include_directories(RpcCore的目录)
  1. 基本用法(省略初始化过程)
// 接收端
rpc->subscribe("cmd", [](const String& msg) -> String {assert(msg == "hello");return "world";
});// 发送端
rpc->cmd("cmd")->msg(String("hello"))->rsp([](const String& rsp) {assert(rsp == "world");})->call();

详细的初始化流程和单元测试见:RpcTest.cpp

Design

类说明

外部接口

  • Connection 提供收发实现
  • Rpc 提供注册消息和创建请求的方法
  • Request 提供消息请求的各种方法
  • Message 消息自定义序列化/反序列化规则
  • Dispose 通过RAII的方式 用于自动取消Request

内部实现

  • MsgWrapper 包装Message 用于内部传输解析
  • MsgDispatcher 解析MsgWrapper 分发消息
  • Coder MsgWrapper序列化实现

Plugin

  • JsonMsg.hpp
    支持直接使用nlohmann/json支持的类型作为消息传输
    (需满足nlohmann/json中的to_json/from_json规则)

  • FlatbuffersMsg.hpp
    支持直接使用Flatbuffers生成的类型作为消息传输(flatc需添加参数--gen-object-api)

Links

  • 基于asio的实现 asio_net
  • 适用于ESP32/ESP8266的实现 esp_rpc
http://www.mmbaike.com/news/106163.html

相关文章:

  • 上海服装品牌网站建设seo全站优化全案例
  • 国外创意设计网站新闻式软文
  • asp做网站步骤网络推广方式方法
  • 上海网站制作网站建设百度网盘下载安装
  • 网站变黑白代码seo关键词优化培训班
  • 本地广东中山网站建设seo优化大公司排名
  • 能够做外贸的网站有哪些问题win10优化大师怎么样
  • 网站建站推广百度导航
  • 做京东网站的摘要数据推广公司
  • 建设数据库网站需要哪些设备seo平台优化服务
  • 网站建设价格热线怎么申请自己的域名
  • 建个站真的是免费的吗健康码防疫核验一体机
  • 厦门做网站seo的杭州推广系统
  • 宁波做网站多少钱东莞网络优化哪家好
  • 医疗电子科技网站建设营销活动怎么做吸引人
  • 建网站一般要多少钱小米的推广软文
  • 电脑做网站服务器WIN7 买个域名搜索引擎网站有哪些
  • 新闻网站建设的任务要求写文章一篇30元兼职
  • 境外网站开发信息流广告哪个平台好
  • 手机网站模板源码下载新闻发布稿
  • 去哪儿网站做宣传多少钱站长工具下载app
  • 巫山网站设计app地推接单平台
  • 网站模板 站长之家app营销十大成功案例
  • 泉州网站建设平台如何做电商新手入门
  • 国内代理ip免费百度seo价格
  • 手机wordpress怎么保存图片外贸网站seo优化
  • 查询建筑企业网站市场营销手段13种手段
  • 网站建设商家百度问答首页
  • java网站项目可做百度搜索关键词排名优化技术
  • 做网站的诈骗公司seo优化自动点击软件