0

我是 gRPC 的新手。我用 gRPC 编写我的应用程序。它与同一端口中的客户端和服务器一起工作得很好。现在,我想将客户端端口设置为与服务器上的端口不同。我在谷歌中发现了很多小时这个问题,但我找不到它。我能做些什么。

我的服务器代码:

const grpc = require('grpc')

const protoLoader = require('@grpc/proto-loader')
const packageDefinition = protoLoader.loadSync('notes.proto');
const notesProto = grpc.loadPackageDefinition(packageDefinition);

const uuidv1 = require('uuid/v1')

const server = new grpc.Server()
const notes = [
    { id: '1', title: 'Note 1', content: 'Content 1'},
    { id: '2', title: 'Note 2', content: 'Content 2'}
]

server.addService(notesProto.NoteService.service, {
  ...
})

server.bind('127.0.0.1:50051',
  grpc.ServerCredentials.createInsecure())
console.log('Server running at http://127.0.0.1:50051')
server.start()

我的客户代码:

const PROTO_PATH = '../notes.proto';

const grpc = require('grpc');
const protoLoader = require('@grpc/proto-loader')
const packageDefinition = protoLoader.loadSync(PROTO_PATH);
const NoteService = grpc.loadPackageDefinition(packageDefinition).NoteService

const client = new NoteService('localhost:50052',  // <- problem here
    grpc.credentials.createInsecure());

module.exports = client
4

1 回答 1

0

客户端没有自己的端口。该地址给出了客户端将尝试连接到服务器的端口号。这两个数字需要匹配,否则客户端将无法找到服务器。

于 2019-12-04T17:32:57.947 回答