Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript GRPC客户端错误:14不可用:无法连接到所有地址_Javascript_Node.js_Grpc_Grpc Node_Grpc Web - Fatal编程技术网

Javascript GRPC客户端错误:14不可用:无法连接到所有地址

Javascript GRPC客户端错误:14不可用:无法连接到所有地址,javascript,node.js,grpc,grpc-node,grpc-web,Javascript,Node.js,Grpc,Grpc Node,Grpc Web,我试图用下面的代码测试我的grpc客户端连接。 我有.net核心grpc服务器,并使用node js grpc客户端进行连接。但获取“无法连接到所有地址”错误。但能够将.net grpc服务器连接到.net grpc客户端。非常感谢您的帮助 不确定我是否缺少以下grpc客户端代码中的任何内容 'use strict'; //Same as the other projects we import fs for reading documents, in this case employees.j

我试图用下面的代码测试我的grpc客户端连接。 我有.net核心grpc服务器,并使用node js grpc客户端进行连接。但获取“无法连接到所有地址”错误。但能够将.net grpc服务器连接到.net grpc客户端。非常感谢您的帮助

不确定我是否缺少以下grpc客户端代码中的任何内容

'use strict';
//Same as the other projects we import fs for reading documents, in this case employees.js json
const fs = require('fs');

//Importing GRPC and the proto loader
const grpc = require('grpc');
const loader = require('@grpc/proto-loader');



//reads the proto
const packageDefinition = loader.loadSync('Repository.proto', {
  keepCase: false,
  longs: String,
  enums: String, 
  defaults: true,
  oneofs: true
});



//Loads the proto file to be used in constant pkg
const pkg = grpc.loadPackageDefinition(packageDefinition);

//Creates server
const PORT = 5001;

//console.log(pkg);

const client = new pkg.repository.Repository('localhost:5001', grpc.credentials.createInsecure());

 client.GetUpdates({}, function (err, response) {
    console.log("----Response error----");
    if (err) {
    
      console.log(err);
  } else {
      console.log(response);
  }
});
我得到以下错误:

{ Error: 14 UNAVAILABLE: failed to connect to all addresses
    at Object.exports.createStatusError (/mnt/c/Users/ht9638/Desktop/workspace/current-workspace/gRPCNodeJS/firstService/node_modules/grpc/src/common.js:91:15)
    at Object.onReceiveStatus (/mnt/c/Users/ht9638/Desktop/workspace/current-workspace/gRPCNodeJS/firstService/node_modules/grpc/src/client_interceptors.js:1209:28)
    at InterceptingListener._callNext (/mnt/c/Users/ht9638/Desktop/workspace/current-workspace/gRPCNodeJS/firstService/node_modules/grpc/src/client_interceptors.js:568:42)
    at InterceptingListener.onReceiveStatus (/mnt/c/Users/ht9638/Desktop/workspace/current-workspace/gRPCNodeJS/firstService/node_modules/grpc/src/client_interceptors.js:618:8)
    at callback (/mnt/c/Users/ht9638/Desktop/workspace/current-workspace/gRPCNodeJS/firstService/node_modules/grpc/src/client_interceptors.js:847:24)
  code: 14,
  metadata: Metadata { _internal_repr: {}, flags: 0 },
  details: 'failed to connect to all addresses' }

有人能帮我解决这个问题吗。

可能是个愚蠢的建议,但它是正确的端口吗?是的。这是正确的端口。我忍不住注意到您使用的端口是
5001
,它与gRPC示例中常用的端口类似,
50051
。你确定你的端口号正确吗?作为一个明智的检查,你能尝试使用BloomRPC调用grpc端点吗?我认为你也应该用50051做一个快速测试。我看不出你的示例有任何明显的错误,但从nodejs到C#server的连接是我们在测试套件中不断测试的东西,因此,我猜测您可能设置了一些不正确的内容(可能服务器正在侦听其他端口)。可以尝试手动测试对服务器的请求。