har*_*511 6 javascript node.js grpc grpc-web grpc-node
我尝试使用下面的代码测试我的 grpc 客户端连接。我有 .net core 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);
}
});
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
{ 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' }
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个问题吗?
小智 2
当我尝试遵循官方文档中的 gRPC Nodejs 教程时,我遇到了同样的问题。
根本原因(对我来说):端口 50051 是主文档中使用的默认端口,当我检查笔记本电脑上使用的端口列表时,发现端口 50051 被“NVIDIA Web Helper.exe”使用。
我是如何发现这一点的:我尝试将端口稍微更改为 50052 并 console.log 错误,它按预期显示
| 归档时间: |
|
| 查看次数: |
16398 次 |
| 最近记录: |