How to access gRPC server in matlab?(如何在MATLAB中访问GRPC服务器?)
问题描述
我们已将DataAccess逻辑移动到Microservice,目前使用C++将其实现为GRPC,并且我们能够在C#客户端和C++客户端中利用它。
现在我们必须在Matlab客户端(旧版)中使用此DataAccess GRPC。因此,我试图找到一种从Matlab访问GRPC的方法,但发现没有对此的官方支持。
我找到了两个解决方案
使用Java
我已按照此thread中的建议进行了尝试。我已经使用Eclipse创建了一个sampleGRPC客户端java。但是,当我尝试从MATLAB访问该类/方法时,我面临以下问题
Java exception occurred:
java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;CLjava/lang/Object;)V
at io.grpc.Metadata$Key.validateName(Metadata.java:630)
at io.grpc.Metadata$Key.<init>(Metadata.java:638)
at io.grpc.Metadata$Key.<init>(Metadata.java:568)
at io.grpc.Metadata$AsciiKey.<init>(Metadata.java:743)
at io.grpc.Metadata$AsciiKey.<init>(Metadata.java:738)
at io.grpc.Metadata$Key.of(Metadata.java:594)
at io.grpc.Metadata$Key.of(Metadata.java:590)
at io.grpc.internal.GrpcUtil.<clinit>(GrpcUtil.java:84)
at io.grpc.internal.AbstractManagedChannelImplBuilder.<clinit>(AbstractManagedChannelImplBuilder.java:83)
at io.grpc.netty.NettyChannelProvider.builderForAddress(NettyChannelProvider.java:37)
at io.grpc.netty.NettyChannelProvider.builderForAddress(NettyChannelProvider.java:23)
at io.grpc.ManagedChannelBuilder.forAddress(ManagedChannelBuilder.java:37)
讨论过here,它说这是不可能的。现在有没有人能告诉我这是否可能,或者我遗漏了什么?
使用Matlab协议编译器[Farsounder]
接下来,我尝试使用Farsounder解决方案v2.5.0创建基于this的存根文件。 只有在创建了Protoc.exe之后,我才意识到它是针对ProtoV2的。因此,我现在尝试使用Protov3Matlab。 但是构建说明在这里并不清楚,而且它有一个cmake文件,我不知道如何运行它。有没有人能帮我为Windows环境构建此软件?我是Java和Matlab的新手,如果我错过了任何明显的东西,很抱歉。
提前感谢。
推荐答案
我能够创建Protoc.exe。 步骤:
- 签出最新的协议缓冲区源代码。
- 已使用Farsounder MATLAB源代码和cmake文件更新源代码。
- 遵循https://github.com/protocolbuffers/protobuf/blob/master/cmake/README.md生成源。
这篇关于如何在MATLAB中访问GRPC服务器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在MATLAB中访问GRPC服务器?


- 如何使 JFrame 背景和 JPanel 透明且仅显示图像 2022-01-01
- 将 Java Swing 桌面应用程序国际化的最佳实践是什么? 2022-01-01
- 未找到/usr/local/lib 中的库 2022-01-01
- 如何指定 CORS 的响应标头? 2022-01-01
- 转换 ldap 日期 2022-01-01
- GC_FOR_ALLOC 是否更“严重"?在调查内存使用情况时? 2022-01-01
- Eclipse 的最佳 XML 编辑器 2022-01-01
- 获取数字的最后一位 2022-01-01
- 在 Java 中,如何将 String 转换为 char 或将 char 转换 2022-01-01
- java.lang.IllegalStateException:Bean 名称“类别"的 BindingResult 和普通目标对象都不能用作请求属性 2022-01-01