Я не хочу распространять файлы прототипов среди клиентов, поэтому я генерирую файлы _pb. js с соответствующих протосов с помощью здесь
Но я не могу понять о том, как «вызвать» функцию, выполняющуюся на сервере GRP c.
Вот соответствующий бит:
// commp_grpc_pb.js
// GENERATED CODE -- DO NOT EDIT!
'use strict';
var grpc = require('grpc');
var commp_pb = require('./commp_pb.js');
function serialize_optfoo_FooReply(arg) {
if (!(arg instanceof commp_pb.FooReply)) {
throw new Error('Expected argument of type optfoo.FooReply');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_optfoo_FooReply(buffer_arg) {
return commp_pb.FooReply.deserializeBinary(new Uint8Array(buffer_arg));
}
function serialize_optfoo_FooRequest(arg) {
if (!(arg instanceof commp_pb.FooRequest)) {
throw new Error('Expected argument of type optfoo.FooRequest');
}
return Buffer.from(arg.serializeBinary());
}
function deserialize_optfoo_FooRequest(buffer_arg) {
return commp_pb.FooRequest.deserializeBinary(new Uint8Array(buffer_arg));
}
var FooService = exports.FooService = {
fooFunc: {
path: '/optfoo.Foo/FooFunc',
requestStream: false,
responseStream: false,
requestType: commp_pb.FooRequest,
responseType: commp_pb.FooReply,
requestSerialize: serialize_optfoo_FooRequest,
requestDeserialize: deserialize_optfoo_FooRequest,
responseSerialize: serialize_optfoo_FooReply,
responseDeserialize: deserialize_optfoo_FooReply,
},
};
exports.FooClient = grpc.makeGenericClientConstructor(FooService);
Я сделал мой клиент
const grpc__ = require('../services/commp_grpc_pb');
let client = new grpc__.FooClient('localhost:50051',
grpc.credentials.createInsecure());
Я уже сгенерировал свой FooRequest
. Как передать этот запрос на сервер gRP C?