gRPC 使用小记

1. 首先是创建一个gRPC service,用来提供服务,给到客户端调用

新建即可,值得注意的是

        1. 示例项目中引用了 Grpc.AspNetCore ,用来在api 中注入builder.Services.AddGrpc(); 并且使用中间件  app.MapGrpcService<GreeterService>();

        2. 在csproj 文件中添加了如下iterm

  <ItemGroup>
      <Protobuf Include="Protos\greet.proto" GrpcServices="Both" />
  </ItemGroup>

其他的客户端也需要该配置,或者在任意的现存项目中要使用protobuf 来生成cs 文件都需要如此配置告诉编译器,此外确保不出错,还请检查 proto 文件的属性,是否如下图

2. 如果你要创建一个客户端的话,任意的程序框架都可以,在此使用了console 控制台和webapi 客户端两种,
Install-Package Grpc.Net.Client  // 客户端库

Install-Package Google.Protobuf  //协议库

Install-Package Grpc.Tools   //生成cs 的工具库

都需要上述三个包的引用,此外在webapi 中为了使用DI 和管道,所以还需要额外引入 

Grpc.AspNetCore // 使用clientFactory的扩展库

console程序中可以使用如下流程创建客户端

            using var channel = GrpcChannel.ForAddress("https://localhost:7001");
            var client = new Order.OrderClient(channel);

            var q = client.QueryOrder(new QueryRequest());

webapi中可以使用依赖注入

          builder.Services.AddGrpcClient<Order.OrderClient>(s =>
            {
                s.Address = new Uri("https://localhost:7001");
            });
并在使用的service 中构造函数注入 Order.OrderClient即可

3. 如果需要在web 客户端中使用的话,还需要额外引入Grpc.AspNetCore.Web,实际上grpc 不支持浏览器直接访问,该包提供一个代理服务Envoy 作为中转。

详情参考:

ASP.NET Core gRPC 应用中的 gRPC-Web | Microsoft Learn

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在VxWorks中使用gRPC,你可以按照以下步骤进行: 1. 准备VxWorks环境:确保你已经配置好VxWorks开发环境,包括安装和设置好VxWorks SDK。 2. 下载gRPC和protobuf:从gRPC的GitHub仓库中下载gRPC和protobuf的源代码,或者使用包管理工具(如pip)进行安装。 3. 定义gRPC接口:使用Protocol Buffers语言(proto)定义远程过程接口和消息结构。创建一个.proto文件,描述你的服务和消息结构。 4. 生成代码:使用protoc工具来生成VxWorks所需的代码。运行以下命令: ``` protoc --grpc_out=. --plugin=protoc-gen-grpc=<path_to_grpc_cpp_plugin> --cpp_out=. your_service.proto ``` 将 `<path_to_grpc_cpp_plugin>` 替换为你的机器上实际的 gRPC C++ 插件路径。 5. 创建VxWorks应用程序:在VxWorks中创建一个新的应用程序或打开现有的应用程序。 6. 添加gRPC和protobuf依赖:将生成的代码和gRPC以及protobuf的库文件添加到你的VxWorks应用程序中。确保正确设置包含路径和链接选项。 7. 实现gRPC服务端:在VxWorks应用程序中实现你的gRPC服务端逻辑。创建一个类继承自你生成gRPC服务接口,并实现相应的远程过程调用方法。 8. 实现gRPC客户端:在VxWorks应用程序中实现你的gRPC客户端逻辑。创建一个gRPC客户端对象,通过调用服务端的远程过程来进行通信。 9. 构建和部署:使用VxWorks SDK将你的应用程序构建为可执行文件,并将其部署到VxWorks系统中。 10. 启动服务端和客户端:在VxWorks系统中启动服务端和客户端应用程序。服务端应处于监听状态,等待来自客户端的gRPC调用请求。 11. 远程过程调用:通过客户端应用程序调用服务端的远程过程。gRPC将负责将调用请求传递给服务端,并将响应返回给客户端。 需要注意的是,以上步骤提供了一个基本的框架来在VxWorks中使用gRPC。具体的实现细节和配置可能因项目需求和VxWorks版本而有所不同。你可能还需要参考VxWorks的官方文档和相关资料,以了解更多关于在VxWorks中使用gRPC的详细步骤和指导。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值