最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

NodeJS GRPC簡單的示例詳解

 更新時間:2024年10月16日 09:38:04   作者:田猿筆記  
本文介紹了如何使用NodeJS GRPC,包括.proto文件的定義、客戶端和服務器的實現(xiàn),首先,創(chuàng)建.proto文件定義服務和消息,然后實現(xiàn)客戶端greeter_client.js文件,最后運行服務器和客戶端,通過這篇文章,你可以快速掌握NodeJS GRPC的基礎使用方法

1. 定義 .proto 文件

首先,創(chuàng)建一個 .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. 實現(xiàn)服務器
創(chuàng)建 `greeter_server.js` 文件,包含服務的實現(xiàn):
```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. 實現(xiàn)客戶端

創(chuàng)建 greeter_client.js 文件,包含客戶端的實現(xiàn):

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例子內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

星子县| 西畴县| 鲁甸县| 秦安县| 汉川市| 扶绥县| 皮山县| 内丘县| 鄂尔多斯市| 永泰县| 桃源县| 延津县| 宁波市| 政和县| 德兴市| 东港市| 中卫市| 府谷县| 沙坪坝区| 广汉市| 苍溪县| 陆丰市| 巨野县| 虎林市| 苏州市| 望都县| 蓝山县| 乌兰察布市| 巴林左旗| 新营市| 宁明县| 建昌县| 稻城县| 渑池县| 呼图壁县| 永仁县| 多伦县| 屯昌县| 偏关县| 东莞市| 昌宁县|