长沙网站制作公司哪家好,六安企业网站seo多少钱,网站建设的相关知识,色彩搭配比较好的网站gRPC 是一个高性能、通用的开源 RPC 框架#xff0c;其由 Google 主要面向移动应用开发并基于 HTTP/2 协议标准而设计#xff0c;基于 ProtoBuf (Protocol Buffers) 序列化协议开发#xff0c;且支持众多开发语言#xff08;#xff09;。gRPC 提供了一种简单的方法来精确… gRPC 是一个高性能、通用的开源 RPC 框架其由 Google 主要面向移动应用开发并基于 HTTP/2 协议标准而设计基于 ProtoBuf (Protocol Buffers) 序列化协议开发且支持众多开发语言。gRPC 提供了一种简单的方法来精确地定义服务和为iOS、Android 和 后台支持服务自动生成可靠性很强的客户端功能库。客户端充分利用高级流和链接功能从而有助于节省带宽、降低的 TCP 链接次数、节省 CPU 使用、和电池寿命。下图为 gRPC 结构图gRPC 默认通过 Protocol Buffers 来定义接口可以制定更加严格规范的接口约束而基于 ProtoBuf 可以将数据序列化为二进制格式从而大幅度减少数据量进而大幅度的提升性能支持流式通信Streaming基于 HTTP/2 协议传输可以实现 Streaming 功能模式可提供更快的响应和更高的性能支持多种语言包括Android Java、C、C#/.NET、Dart、Go、Python、Web 等等gRPC Web是gRPC协议在浏览器端的javascript实现。安装运行时所需的库命令npm i grpc-web
首先定义协议文件xxxxxx.proto文件格式如下syntax  proto3;package helloworld;service Greeter {rpc SayHello (HelloRequest) returns (HelloReply);
}message HelloRequest {string name  1;
}message HelloReply {string message  1;
}
生成代码文件protoc -I$DIR business_server.proto \--js_outimport_stylecommonjs:$OUT_DIR \--grpc-web_outimport_stylecommonjs,modegrpcwebtext:$OUT_DIR
如果你使用的是typescript则执行protoc -I$DIR business_server.proto \--js_outimport_stylecommonjs,binary:$OUT_DIR \--grpc-web_outimport_styletypescript,modegrpcwebtext:$OUT_DIR
使用引入生成的proto协议base类import { BusinessClient } from ./protos/Business_serverServiceClientPb;
然后在你定义的api类里定义一个自己的类这个类就可以调用里面的方法constructor(hostname: string) {this.client  new BusinessClient(hostname);
}
调用Greeter方法this.client.Greeter()
详细的 protobuf 规范参考https://developers.google.com/protocol-buffers/docs/proto3