方法未在 grpc 客户端上定义
Method not defined on grpc Client
我正在开发我的第一个 grpc 服务,但我无法使用最基本的方法。
这是我的服务器代码:
const grpc = require('grpc');
const ipvalid_proto = grpc.load('ip_valid.proto').ipvalid;
const server = new grpc.Server();
server.addService(ipvalid_proto.IPValidator.service, {
IsIPValid:(arg, callback) => callback(null, true),
});
server.bind('127.0.0.1:50051', grpc.ServerCredentials.createInsecure());
server.start();
我的客户是这样的:
const grpc = require('grpc');
const ipvalid_proto = grpc.load('ip_valid.proto').ipvalid;
const client = new ipvalid_proto.IPValidator('localhost:50051', grpc.credentials.createInsecure());
client.IsIPValid({ address: '127.0.0.1' }, (err, res) => {});
我先启动服务器,然后是客户端,我总是得到:
client.IsIPValid is not a function
在客户端的日志中。我在这里有什么问题?它看起来与文档中提供的基本示例完全一样。
生成的 Node.js gRPC 客户端将方法名称更改为 camelCase
以匹配方法名称的既定 JS 样式。因此,在这种情况下,客户端对象应该具有方法 isIPValid
(注意起始小写 'I')。
注意:这是一个混淆点,已被报告多次,这是我们将着眼于改进的地方。
我正在开发我的第一个 grpc 服务,但我无法使用最基本的方法。
这是我的服务器代码:
const grpc = require('grpc');
const ipvalid_proto = grpc.load('ip_valid.proto').ipvalid;
const server = new grpc.Server();
server.addService(ipvalid_proto.IPValidator.service, {
IsIPValid:(arg, callback) => callback(null, true),
});
server.bind('127.0.0.1:50051', grpc.ServerCredentials.createInsecure());
server.start();
我的客户是这样的:
const grpc = require('grpc');
const ipvalid_proto = grpc.load('ip_valid.proto').ipvalid;
const client = new ipvalid_proto.IPValidator('localhost:50051', grpc.credentials.createInsecure());
client.IsIPValid({ address: '127.0.0.1' }, (err, res) => {});
我先启动服务器,然后是客户端,我总是得到:
client.IsIPValid is not a function
在客户端的日志中。我在这里有什么问题?它看起来与文档中提供的基本示例完全一样。
生成的 Node.js gRPC 客户端将方法名称更改为 camelCase
以匹配方法名称的既定 JS 样式。因此,在这种情况下,客户端对象应该具有方法 isIPValid
(注意起始小写 'I')。
注意:这是一个混淆点,已被报告多次,这是我们将着眼于改进的地方。