javascript - gRPC - Node Js - 如何将请求从客户端发送到具有不同端口的服务器?
问题描述
我是 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
解决方案
客户端没有自己的端口。该地址给出了客户端将尝试连接到服务器的端口号。这两个数字需要匹配,否则客户端将无法找到服务器。
推荐阅读
- jquery - 导航栏的引导下拉菜单不起作用(角度)
- java - 更改相对于锚点的视图大小
- windows - 如何在 Windows 中设置 docker 音量?
- python - 我得到 TypeError: unhashable type: 'list',同时试图找到词频
- python - 在python中查找最后一个文件名
- python-3.x - wordsegement python库:ValueError:max()arg是一个空序列
- python - 将 ASCII 转换为轮廓 shapefile
- rust - 如何在rust中创建一个迭代器重复最后一个元素
- vue.js - nuxt-i18n 的延迟加载语言环境
- reactjs - 当我第一次尝试在我的 Windows 10 机器上运行 react 时,我在 localhost:3000 的浏览器中收到此错误