grpc Client

时间:2017-09-08 01:18:17

标签: node.js grpc

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

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

1 个答案:

答案 0 :(得分:0)

Generated Node.js gRPC客户端将方法名称更改为camelCase,以匹配方法名称的已建立JS样式。因此,在这种情况下,客户端对象应该具有方法isIPValid(注意起始小写的'I')。

注意:这是一个混淆点,已被报道过几次,而且我们将会改进这一点。