NodeJS GRPC简单的示例详解
更新时间:2024年10月16日 09:38:04 作者:田猿笔记
本文介绍了如何使用NodeJS GRPC,包括.proto文件的定义、客户端和服务器的实现,首先,创建.proto文件定义服务和消息,然后实现客户端greeter_client.js文件,最后运行服务器和客户端,通过这篇文章,你可以快速掌握NodeJS GRPC的基础使用方法
1. 定义 .proto
文件
首先,创建一个 .proto
文件,定义服务和消息:
syntax = "proto3"; package helloworld; service Greeter { rpc SayHello (HelloRequest) returns (HelloReply) {} rpc SayHelloAgain (HelloRequest) returns (HelloReply) {} } message HelloRequest { string name = 1; } message HelloReply { string message = 1; }
### 2. 实现服务器 创建 `greeter_server.js` 文件,包含服务的实现: ```javascript const grpc = require('@grpc/grpc-js'); const protoLoader = require('@grpc/proto-loader'); const packageDefinition = protoLoader.loadSync('helloworld.proto', { keepCase: true, longs: String, enums: String, defaults: true, oneofs: true }); const helloProto = grpc.loadPackageDefinition(packageDefinition).helloworld; function sayHello(call, callback) { callback(null, { message: 'Hello ' + call.request.name }); } function sayHelloAgain(call, callback) { callback(null, { message: 'Hello again, ' + call.request.name }); } function main() { const server = new grpc.Server(); server.addService(helloProto.Greeter.service, { sayHello: sayHello, sayHelloAgain: sayHelloAgain }); server.bindAsync('0.0.0.0:50051', grpc.ServerCredentials.createInsecure(), () => { server.start(); }); } main();
3. 实现客户端
创建 greeter_client.js
文件,包含客户端的实现:
const grpc = require('@grpc/grpc-js'); const protoLoader = require('@grpc/proto-loader'); const packageDefinition = protoLoader.loadSync('helloworld.proto', { keepCase: true, longs: String, enums: String, defaults: true, oneofs: true }); const helloProto = grpc.loadPackageDefinition(packageDefinition).helloworld; function main() { const client = new helloProto.Greeter('localhost:50051', grpc.credentials.createInsecure()); client.sayHello({ name: 'World' }, (err, response) => { if (err) console.error(err); else console.log('Greeting:', response.message); }); client.sayHelloAgain({ name: 'World' }, (err, response) => { if (err) console.error(err); else console.log('Greeting:', response.message); }); } main();
4. 运行服务器和客户端
确保你已经安装了所有必要的依赖:
npm install @grpc/grpc-js @grpc/proto-loader
然后,分别运行服务器和客户端:
node greeter_server.js node greeter_client.js
到此这篇关于NodeJS GRPC简单的例子的文章就介绍到这了,更多相关NodeJS GRPC例子内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
NodeJS学习笔记之(Url,QueryString,Path)模块
今天我们来看一下在nodejs中路径的相关操作方法。在我们开发过程中路径主要有:URL路径,在浏览器中进行使用,当然这个也包含查询字符串QueryString的相关操作;而另一种是磁盘路径,主要用于文件等等进行操作,我们称为Path,所以我将它们放在一起进行总结学习。2015-01-01nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
这篇文章主要介绍了nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域) ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-07-07在NodeJs中使用node-schedule增加定时器任务的方法
这篇文章主要介绍了从零开始在NodeJs中使用node-schedule增加定时器任务的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-06-06
最新评论