Node.js gRP C Соединение с файлом прото-файла - PullRequest
0 голосов
/ 10 января 2020

Я пытаюсь создать соединение Node.js gRP C с помощью инструмента, который я использую на своей машине под названием Pachyderm. Я создал файл .proto для инструмента, который будет просто отображать версию инструмента. Я сгенерировал сервер. js для него, однако он не может успешно получить версию инструмента, подключившись к соответствующему IP-порту инструмента.

Если бы вы могли помочь мне решить эту проблему, я бы очень ценю это.

.proto файл

syntax = "proto3";

import "google/protobuf/empty.proto";

package versionpb;
option go_package = "github.com/pachyderm/pachyderm/src/client/version/versionpb";

message Version {
  uint32 major = 1;
  uint32 minor = 2;
  uint32 micro = 3;
  string additional = 4;
}

service API {
  rpc GetVersion(google.protobuf.Empty) returns (Version) {}
}

сервер. js

const path = require('path')

const protoLoader = require('@grpc/proto-loader')
const grpc = require('grpc')

const PROTO_PATH = path.resolve(__dirname, './protos/pach.proto')

const pd = protoLoader.loadSync(PROTO_PATH)
const hp = grpc.loadPackageDefinition(pd).pach

function sayHello (call, fn) {
  fn(null, { message: 'The tool version is ' + call.request.name })
}

function main () {
  const port = 30650
  const server = new grpc.Server()


  server.bind(`192.161.5.3:${port}`, grpc.ServerCredentials.createInsecure())
  server.start()
  console.log(`gRPC server started on port: ${port}`)
}

main()
...