GRPC(Node)
前后端遵循同一个.proto文件来写各自的代码。
本文写的是node如何调通gRPC服务。
- 传个文本
- helloWorld.proto
- 传个对象
- user.proto
如何使用一个.proto文件
首先得安装依赖包:
- npm install grpc-tools --save-dev
- npm install google-protobuf --save
- npm install grpc --save
再运行编译命令
./node_modules/grpc-tools/bin/protoc --js_out=import_style=commonjs,binary:./ --plugin=protoc-gen-grpc=./node_modules/grpc-tools/bin/grpc_node_plugin.exe --grpc_out=./ xxx.proto
这里注意 ./ 和 .proto文件之间有个空格
运行完成后,会生成xxx_grpc_pb.js 和 xxx_pb.js两个文件
helloWorld.proto
syntax = "proto3";
package helloWorld;
service HelloWorld{
rpc hello (Request) returns (Response) {
}
}
message Request{
string msg = 1;
}
message Response{
string msg = 1;
}
server.js 文件
const grpc = require("grpc");
const services = require("./helloWorld_grpc_pb.js");
const messages = require("./helloWorld_pb.js");
const hello = function(call, callback) {
const response = new messages.Response();
response.setMsg("hello, " + call.request.getMsg());
callback(null, response);
};
const server = new grpc.Server(