问题标签 [grpc-node]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 连接到通过 IPv4 运行的服务器时出现长时间延迟
我正在从 NodeJS 连接到通过 IPv4 运行的 gRPC 服务器。<FQDN>:<port>
我使用格式的地址(不是)创建了一个 gRPC 客户端<ipv4address>:<port>
。服务器和客户端之间的通信是使用 SSL 加密的,所以在创建客户端时我不能用 ipv4address 替换 FQDN。在解析端点地址期间,我收到 4 个地址(因为我有 2 个网络接口):
解析器尝试解析首选 IPv6 的端点地址:
如您所见,每次尝试绑定都会导致 1 秒延迟,这在我的环境中会导致 2 秒延迟,然后再创建客户端通道。
有没有办法配置解析器以使其更喜欢 IPv4 地址,或者以某种方式减少此超时?
node.js - 错误:13 内部:序列化失败(使用 Google Cloud Vision Api)
我在发送在视觉 api 中以 react-native 拍摄的照片的 Base64 后出现此错误,我在某些地方读到错误必须在 grpc 但是,我没有直接使用它,我只是在使用结构视觉 api 文本检测基础知识
ssl - 网页 gRPC + NGINX TLS 配置
我有一个 Node gRPC 服务器和一个 Web gRPC 客户端(带有 Angular 的 TS)。我使用 Nginx 作为代理来促进它们之间的通信。
我不知道如何使用 SSL 配置 Web gRPC 客户端 (TS)。我尝试将当前的 Nginx 配置和 Node 配置与 Node gRPC 客户端(不是 Web gRPC)一起使用。在那种情况下它起作用了。
节点 js 配置: 节点 js 配置
生成证书的脚本:
在上面的代码中,在 CN=dev 中,dev 是我服务器的 etc/hosts 文件中指向服务器自己地址的 DNS 条目。
Nginx 配置:
现在,web gRPC 部分(不工作给出了握手错误,没有正确的文档如何做到这一点,所以尝试查看这个和 grpcWeb 源代码并假设它会这样): web gRPC TLS 配置
这就是我现在所拥有的。任何帮助,将不胜感激。
python - 为什么我的 Node.js gRPC 客户端需要 3 秒才能向我的 Python gRPC 服务器发送请求?
让我们首先承认我是一个 gRPC 菜鸟。如果我问了一个愚蠢的问题,请继续告诉我,但只有在解释了为什么它是愚蠢的之后。谢谢!:)
概述
我正在开发一个处理图像的应用程序。影响处理结果的变量可由用户更改。我想在保持跨平台兼容性的同时提供一个好看的 GUI。因此,我决定在 Python 中实现我的图像处理,并使用 Node.js 和 Electron 作为我的 GUI。
需要一种向 Python 后端发送和接收数据的方法,我决定使用 gRPC。因此,我有一个Node.js gRPC Client与一个Python gRPC Server配对。
在阅读了许多教程并了解了一些关于协议缓冲区的知识后,我能够成功地在两个程序之间传输数据。
设置
Node.js Electron 应用程序从用户那里获取输入,并向 Python 后端发送请求。请求的大小是一个小对象:
收到此请求后,Python 应用程序从指定的帧中读取streamSource
并处理它。然后将此处理后的帧转换为 JPEG 格式并通过 gRPC 作为以下格式返回到 Node.js 应用程序Image
:
问题
我注意到在发出请求和接收到图像之间存在可变延迟。这个时间从几毫秒到近 3 秒不等!在分析 Python 代码后,我确定处理时间可以忽略不计。此外,Image
通过 gRPC 返回所需的时间也可以忽略不计。
因此,在 RPC 执行和 Python 应用程序接收调用之间存在一个有趣的延迟。以下是一些带有时间的日志,可以更好地解释正在发生的事情(括号中的数字以秒为单位):
可以看到本例中从 Node.js RPC 执行到 Python 方法被调用的时间大约是 3 秒,而从 Python 方法执行到 Node.js 应用程序接收到的Image
时间不到 1 秒 0 .o
编码
Python gRPC 服务器
Node.js 客户端:
协议缓冲区:
Node.js gRPC 调用:
tl;博士
为什么我的 Node.js 客户端请求需要这么长时间才能触发我的 Python 代码?
grpc - #grpc 节点客户端允许签名证书
我在服务器上有一个自签名的 grpc 服务,并让它在带有 dart 客户端的 dart 服务器上工作。但我不知道如何绕过或允许节点客户端的自签名证书。我试过这个:
但是当我打电话时,我的验证 checkServerIdentity 没有打电话。
有人有任何线索吗?
node.js - GRPC - nodejs DNS解析失败
我正在使用通过 HTTPS 和自签名证书托管的 GRPC 服务。当我使用如下语法连接时:
我收到这样的错误
任何人都可以帮助我如何解决这个问题。
注意:我的操作系统是 Windows 10,nodejs -- v10.16.0,GRPC
node.js - 预期目录:node-v83-linux-x64-musl。找到:[node-v72-linux-x64-musl]
grpc版本: 1.24.2
在部署我的 Node.js 应用程序时,我遇到了grpc package的二进制文件问题。
错误:
我在 Dockerfile 中尝试了这些命令:
npm rebuild
npm install --unsafe-perm
npm install --target=13.0.0 --target_platform=linux --target_arch=x64
Dockerfile(在这里找到):
我也尝试配置二进制文件的位置,但没有找到 node-v83-linux-x64-musl。配置二进制文件位置
相关问题:
我需要你的帮助!— murgatroid99
grpc - TLS 中的 GRPC-Web 连接问题
我有一个 GRPC Web 客户端和一个 GRPC 服务器,我正在使用 envoy 代理从 HTTP 1.1 到 HTTP2 的转换。
我的服务器创建逻辑使用 TLS。代码如下:
我从我的反应客户端调用如下:
envoy.yaml 如下:
envoy 的 Dockerfile 如下:
我在以下情况下收到以下错误:
但是当我从后端服务器中删除 SSL 身份验证时。它工作正常。我还创建了一个 grpc 客户端,并且 TLS 可以正常工作。我无法在我的 TLS 特使配置中找到问题所在。
在特使日志中得到关注的进一步调查。
TLS error: 268435703:SSL routines:OPENSSL_internal:WRONG_VERSION_NUMBER
如果我通过直接使用 GRPC 客户端将 TLS 证书与 envoy 一起使用,则它可以正常工作。
grpc-node - 如何使用节点 grpc 获取客户端 IP 地址
之前我使用下面的代码来获取客户端 IPexpress.js
想知道使用grpc节点应用程序获取客户端IP的方法是什么。我尝试了 getPeer() ,即使 API 调用来自外部,它也始终提供 ipv4:127.0.0.1:33944 。
类似于下面的代码是否有效?