问题标签 [grpc-web]
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 - 预期目录: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 - 如何在没有特使的情况下使用 grpc-web
我正在玩grpc
& grpc-web
。我能够运行一个简单的 grpc 服务器和 grpc-web 应用程序。但是我觉得设置需要太多的依赖项web-server
,grpc-server
并且envoy proxy
.
有人成功grpc-web
用于生产吗?我们是否需要包括特使在内的所有依赖项?
c# - 在 gRPC 中,无法将消息中的枚举值绑定到 dontnet core Dto
我需要在 Grpc 消息中定义一个字符串数组类型 dataType。不知道该怎么做。现在我正在做
这里我需要名称字段作为字符串数组类型。但它显示错误,在其中绑定数据时字段是只读类型:
在标题中我需要绑定数据
deployment - 您如何将 blazor wasm grpc-web 应用程序部署到 azure?
我是 blazor wasm 的新手。我重新制作了一个示例天气预报存根,以通过 dapper 使用 blazor wasm/grpc-web/identityserver4 (google auth)/postgres db 后端。
如果我通过 Visual Studio 2019 在本地运行它,那么它可以工作,但是当我尝试使用 Azure App Service 使用 azure 持续交付(这也是新的......哈哈)时,它复制了工件,但 Web 应用程序永远不会启动。我在想也许我需要一些命令来启动 app.server.exe 所以尝试从 azure 的网络(终端/控制台)手动运行它,但这也没有帮助。
然后我尝试使用 Visual Studio 2019 的发布功能,立即说不支持 grpc。我正在使用 grpc-web,所以我不确定。
我已经在 azure 上设置了 ssl 证书等,因此不存在与身份服务器等相关的错误。
无论如何,你们如何将这种组合(blazor wasm/grpc-web)组合部署到 azure/heroku 或您选择的任何主机?提前感谢您的帮助。
谢谢,阿琼
protocol-buffers - GRPC:在浏览器和服务器之间传递带有 proto.Message 字段的 JSON
我一直在努力在系统之间来回传递带有 Message 值的 JSON。走得更远了,但我还是不在。A Struct 似乎是一种方式,但即使我发送的结构看起来非常好,一旦被服务器接收到它就是空的。
Result
从 Web 浏览器 (grpc-web) 传递到 Python 后端。Python 后端应该序列化为Result
JSON(以存储它)并再次返回。
发送前检查req.variables
表明它确实是 a Struct
,其中包含所有正确的字段。但是一旦另一端(服务器)收到它req.variables
就是一个空的Struct
. 出于测试目的,我尝试了obj
that is simple {'key': 'value'}
,但结果是一样的。
所以我尝试了proto.google.protobuf.Struct.fromJavaScript
:
这适用于简单的obj
(例如{"key": "val"}
),但对于obj
带有原始消息字段(例如上面)的它会导致:
或者我可以不用在 javascript 中使用 protobuf/json 来解决所有麻烦,而只需使用map
?
但是,?type?
如果值可以是任何东西(proto.MessageX、字符串、布尔值等),那会是什么?
我真的很想在变量中使用原始消息。选择 protobuf/grpc 的原因正是这个,能够在我们的整个平台上使用相同的类型,但这似乎阻碍了这个目标。我错过了什么?你会怎么做?
protobuf-net - 如何使用 Grpc 和 protobuf-net 在 Blazor Web Assembly 中注入依赖项
我正在使用 protobuf-net 使用 Grpc 构建 Web Assembly Blazor 来处理服务。我正在尝试以这种方式注入我想要的服务:
然后,我将我认为应该是依赖项的内容注入到 razor 组件中:
但我得到这个错误:
Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer [100] 未处理的异常呈现组件:无法为“Customer_Create”类型的属性“客户端”提供值。没有“ICustomerService”类型的注册服务。
非常感谢这里的任何帮助!
node.js - gRPC-web 如何处理来自服务器端流的字节数据?
我想使用 grpc-web 将一个示例视频文件从后端 grpc 服务传输到浏览器,我根据官方 hello world 教程做了一些调整。顺便说一句,特使配置没有任何变化。视频文件被分成17个块,我可以在浏览器中接收到17条消息,但是里面什么都没有,我应该怎么做才能得到数据?
protobuf 定义:
server.js:
客户端.js:
无论如何,如果代理有问题,下面是我的 envoy.yaml:
asp.net-core - 使用 gRPC-Web 和 protobuf-net 在工作服务中添加新方法时出现异常
我收到以下异常:
Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100] 未处理的异常呈现组件:“DefaultProxyCache
1' threw an exception. System.TypeInitializationException: The type initializer for 'DefaultProxyCache
1”的类型初始化程序引发异常。---> System.ArgumentException:无效的通用参数参数名称:typeArguments at (wrapper managed-to-native) System.Reflection.RuntimeMethodInfo.MakeGenericMethod_impl(System.Reflection.RuntimeMethodInfo,System.Type[]) at System.Reflection.RuntimeMethodInfo .MakeGenericMethod(System.Type[] methodInstantiation) <0x342def8 + 0x000d6> in :0 at ProtoBuf.Grpc.Internal.ContractOperation.TryGetClientHelper() [0x0001b] in //src/protobuf-net.Grpc/Internal/ContractOperation.cs: 291 在 ProtoBuf.Grpc.Internal.ProxyEmitter.EmitFactory[TService] (ProtoBuf.Grpc.Configuration.BinderConfiguration binderConfig) [0x00477] 在 //src/protobuf-net.Grpc/Internal/ProxyEmitter.cs:238 在 ProtoBuf.Grpc.Internal.ProxyEmitter.CreateFactory[TService] (ProtoBuf.Grpc.Configuration.BinderConfiguration binderConfig) [0x0006d] in //src/protobuf-net .Grpc/Internal/ProxyEmitter.cs:123 at ProtoBuf.Grpc.Configuration.ClientFactory+DefaultProxyCache`1[TService]..cctor()[0x00000] in //src/protobuf-net.Grpc/Configuration/ClientFactory.cs: 81
我的项目使用 gRPC-Web、Blazor Web 程序集和 protobuf-net
这是我的服务合同:
实现是:
至于数据合同:
和,
在我返回服务中的客户列表之前,但我意识到我需要一个类来对消息进行建模,以便 protobuf-net 能够序列化,这就是 CustomerResultSet 的原因。尽管如此,它仍然无法正常工作。非常感谢任何帮助
ruby-on-rails - 来自我的 Rails Web 应用程序的 gRPC 请求
有谁知道如何使用 rails 应用程序向我的 gRPC 服务发送请求?就像我有我的 Rails Web 应用程序一样,当我单击 Web 应用程序中的按钮时,我想向我的 HELLO gRPC 服务发送请求?
假设这是我的 gRPC 请求