gRPC-节点Js-如何使用不同的端口将请求从客户端发送到服务器?

时间:2019-12-04 14:34:16

标签: javascript grpc grpc-node

我是gRPC的新手。我用gRPC编写我的应用程序。客户端和服务器在同一端口上运行良好。现在,我要设置与服务器端口不同的客户端端口。我在Google中发现这个问题很多小时了,但是找不到。我该怎么办。

我的服务器代码:

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

1 个答案:

答案 0 :(得分:0)

客户端没有自己的端口。该地址提供了客户端将尝试连接到服务器的端口号。这两个数字必须匹配,否则客户端将找不到服务器。