我是靠谱客的博主 高兴鲜花,最近开发中收集的这篇文章主要介绍grpc之node篇(静态代码)创建项目文件夹,初始化项目安装protoc以及grpc插件编写.proto文件并使用protoc 进行编译编写server.js文件编写client.js文件,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
注:本文环境为windows,请自行安装nodejs
创建项目文件夹,初始化项目
我的文件夹为grpctest
cd到项目文件下,运行
npm init
安装protoc以及grpc插件
这个用npm直接安装
npm install grpc-tools --save-dev
npm install google-protobuf --save
npm install grpc --save
在./node_modules/grpc-tools/bin下,你会找到 protoc.exe 和 grpc_node_plugin.exe两个文件。
编写.proto文件并使用protoc 进行编译
HelloWorldService.proto
syntax = "proto3";
package com.sdp.grpctest;
message HelloRequest{
string name = 1;
}
message HelloResponse{
string helloString = 1;
}
// 服务HelloWorld
service HelloWorldService{
rpc hello (HelloRequest) returns (HelloResponse){}
}
运行编译命令
./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=./ HelloWorldService.proto
运行完成后,会生成HelloWorldService_grpc_pb.js 和 HelloWorldServer_pb.js两个文件。
编写server.js文件
server.js
var services = require('./HelloWorldService_grpc_pb.js');
var messages = require('./HelloWorldService_pb.js');
var grpc = require('grpc')
var hello = function(call, callback) {
var response = new messages.HelloResponse();
response.setHellostring("hello," + call.request.getName());
callback(null, response);
}
var server = new grpc.Server();
server.addService(
services.HelloWorldServiceService,
{
hello:hello
}
);
server.bind('0.0.0.0:50051', grpc.ServerCredentials.createInsecure());
server.start(function(err,data){
console.log(err);
console.log(data);
});
运行 node server.js启动server
编写client.js文件
var grpc = require('grpc');
var messages = require('./HelloWorldService_pb.js');
var services = require('./HelloWorldService_grpc_pb.js')
var request = new messages.HelloRequest();
request.setName('world');
var client = new services.HelloWorldServiceClient(
'localhost:50051',
grpc.credentials.createInsecure()
);
client.hello(request, function(err,data){
if(err){
console.error(err);
}
console.log(data);
console.log(data.getHellostring());
})
运行 node client.js , 最后成功打印出hello,world
最后
以上就是高兴鲜花为你收集整理的grpc之node篇(静态代码)创建项目文件夹,初始化项目安装protoc以及grpc插件编写.proto文件并使用protoc 进行编译编写server.js文件编写client.js文件的全部内容,希望文章能够帮你解决grpc之node篇(静态代码)创建项目文件夹,初始化项目安装protoc以及grpc插件编写.proto文件并使用protoc 进行编译编写server.js文件编写client.js文件所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复