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服务器?
基础教程推荐
- 由于对所需库 rt.jar 的限制,对类的访问限制? 2022-01-01
- 如何在不安装整个 WTP 包的情况下将 Tomcat 8 添加到 Eclipse Kepler 2022-01-01
- Spring Boot Freemarker从2.2.0升级失败 2022-01-01
- 如何对 HashSet 进行排序? 2022-01-01
- 首次使用 Hadoop,MapReduce Job 不运行 Reduce Phase 2022-01-01
- 如何使用 Stream 在集合中拆分奇数和偶数以及两者的总和 2022-01-01
- Java 中保存最后 N 个元素的大小受限队列 2022-01-01
- 如何使用 Eclipse 检查调试符号状态? 2022-01-01
- 在螺旋中写一个字符串 2022-01-01
- 如何强制对超级方法进行多态调用? 2022-01-01