【问题标题】:Method not defined on grpc Clientgrpc 客户端上未定义方法
【发布时间】:2017-09-08 01:18:16
【问题描述】:

我正在开发我的第一个 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 不是函数

在客户端的日志记录中。我在这里有什么问题?它看起来与文档中提供的基本示例完全相同。

【问题讨论】:

    标签: node.js grpc


    【解决方案1】:

    生成的 Node.js gRPC 客户端将方法名称更改为 camelCase 以匹配方法名称的既定 JS 样式。因此,在这种情况下,客户端对象应该具有 isIPValid 方法(注意开头的小写“I”)。

    注意:这是一个已被多次报告的混淆点,我们将着眼于改进。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2018-05-15
      • 1970-01-01
      • 2021-02-01
      • 2021-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多