syntax = "proto3";
package helloworld;
service Greeter {
rpc SayHello(FooBarRequest) returns (FooBarReply);
rpc SayHelp(FooBarRequest) returns (FooBarReply);
}
message FooBarRequest {
string name = 1;
}
message FooBarReply {
string message = 1;
}const _ = require('lodash');
const grpc = require('grpc');
const protoLoader = require('@grpc/proto-loader');
const argv = require("minimist")(process.argv.slice(2));
console.dir(argv);
if (!argv.h) {
console.log("Please start server.js with -h xx.xx.xx.xx:xxxx");
process.exit(1);
}
console.log(`Starting server.js on : ${argv.h}`);
const PROTOS_PATH = __dirname + '/../protos/';
const BESERVICE_PROTO_PATH = PROTOS_PATH + 'test.proto';
const beDefinition = protoLoader.loadSync(
BESERVICE_PROTO_PATH,
{keepCase: true,
longs: String,
enums: String,
defaults: true,
oneofs: true
});
const test = grpc.loadPackageDefinition(beDefinition).helloworld;
function SayHello(call, callback) {
callback(null, {message: 'Hello ' + call.request.name});
}
function SayHelp(call, callback) {
callback(null, {message: 'Help! ' + call.request.name});
}
function main() {
var server = new grpc.Server();
server.addService(test.Greeter.service, {
SayHello: SayHello,
SayHelp: SayHelp
});
server.bind(argv.h, grpc.ServerCredentials.createInsecure());
server.start();
}
main();
const grpc = require('grpc');
const util = require('util')
const protoLoader = require('@grpc/proto-loader');
const argv = require("minimist")(process.argv.slice(2));
console.dir(argv);
if (!argv.h) {
console.log("Please start with -h xx.xx.xx.xx:xxxx");
process.exit(1);
}
console.log(`Starting Node backend client on : ${argv.h}`);
const PROTOS_PATH = __dirname + '/../protos/';
const BESERVICE_PROTO_PATH = PROTOS_PATH + 'test.proto';
const beDefinition = protoLoader.loadSync(
BESERVICE_PROTO_PATH,
{keepCase: true,
longs: String,
enums: String,
defaults: true,
oneofs: true
});
const test = grpc.loadPackageDefinition(beDefinition).helloworld;
function main() {
var client = new test.Greeter(argv.h, grpc.credentials.createInsecure());
client.SayHello({ name: 'Darth' }, {}, (err, response) => {
if (err) {
console.error("error calling SayHello", err);
return
}
console.log('Greeting:', response.message);
client.SayHelp({ name: 'Darth' }, {}, (err, response) => {
if (err) {
console.error("error calling SayHelp", err);
return
}
console.log('Help! ', response.message);
});
});
}
main();wander@peniche:~/control-web/js$ !1186
node server.js -h 172.16.0.168:9090 &
[1] 57465
wander@peniche:~/control-web/js$ { _: [], h: '172.16.0.168:9090' }
Starting server.js on : 172.16.0.168:9090
wander@peniche:~/control-web/js$ !1187
node backendservice-node-client.js -h 172.16.0.168:9090
{ _: [], h: '172.16.0.168:9090' }
Starting Node backend client on : 172.16.0.168:9090
Greeting: Hello! Darth
error calling SayHelp { Error: 12 UNIMPLEMENTED: RPC method not implemented /helloworld.Greeter/SayHelp
at Object.exports.createStatusError (/home/wander/control-web/node_modules/grpc/src/common.js:91:15)
at Object.onReceiveStatus (/home/wander/control-web/node_modules/grpc/src/client_interceptors.js:1204:28)
at InterceptingListener._callNext (/home/wander/control-web/node_modules/grpc/src/client_interceptors.js:568:42)
at InterceptingListener.onReceiveStatus (/home/wander/control-web/node_modules/grpc/src/client_interceptors.js:618:8)
at callback (/home/wander/control-web/node_modules/grpc/src/client_interceptors.js:845:24)
code: 12,
metadata: Metadata { _internal_repr: {} },
details: 'RPC method not implemented /helloworld.Greeter/SayHelp' }
--
You received this message because you are subscribed to the Google Groups "grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email to grpc-io+u...@googlegroups.com.
To post to this group, send email to grp...@googlegroups.com.
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/3c7c48bc-3612-4c7e-9b30-9a30e47d1286%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Mya Pitzeruse
Senior Software Engineer - Service Infrastructure
Gender Pronouns: She, Her, Hers
Indeed - We help people get jobs.
wander@peniche:~/control-web$ npm list --depth=0 2>/dev/null
control-web@0.0.1 /home/wander/control-web
├── @grpc/proto-loader@0.4.0
├── google-protobuf@3.7.0
├── grpc@1.19.0
├── grpc-inspect@0.6.0
├── grpc-web@1.0.3
├── lodash@4.17.11
├── minimist@1.2.0
├── webpack@4.29.6
└── webpack-cli@3.2.3function main() {
var server = new grpc.Server();
server.addService(test.Greeter.service, {
sayHello: SayHello,
sayHelp: SayHelp
});
//console.dir(util.inspect(server, showHidden=false, depth=5, colorize=false));
server.bind(argv.h, grpc.ServerCredentials.createInsecure());
server.start();
}To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/9bcbda49-2257-4543-abc9-bc5b2600581d%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/4fb6e6e8-79eb-4a44-a289-a0ba73c53fb3%40googlegroups.com.