Я пытаюсь создать соединение 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()