我是靠谱客的博主 高兴鲜花,这篇文章主要介绍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
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
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
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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文件

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(96)

评论列表共有 0 条评论

立即
投稿
返回
顶部