如何使用 MATLAB grpc 插件创建 stub/services 个文件?

How to create stub/services files with MATLAB grpc plugin?

我正在使用 MatlabWithProtoV3 在 Windows 环境中使用 matlab_out 创建 protoc.exe。 我能够创建协议,当我使用

protoc.exe user.proto --matlab_out=./

它只为原型消息创建 matlab 文件(文件可以在底部附件中找到),它没有为服务(客户端和服务器)创建 matlab 文件

然后,我阅读了插件并将生成器和插件文件包含到 gRPC Source 以创建 Matlab 插件并成功创建了 grpc_matlab_plugin.exe。

现在,当我执行

protoc.exe user.proto --matlab_out=./ --grpc_out=./ --plugin=protoc-gen-grpc="D:\grpc\cmake\build\Debug\grpc_matlab_plugin.exe

我得到

pb_descriptor_LoginRequest.m: Tried to write the same file twice.
 pb_read_LoginRequest.m: Tried to write the same file twice. 
pb_descriptor_APIResponse.m: Tried to write the same file twice. 
pb_read_APIResponse.m: Tried to write the same file twice.
 pb_descriptor_Empty.m: Tried to write the same file twice. 
pb_read_Empty.m: Tried to write the same file twice.

错误消息,未创建任何文件。

在 gRPC 存储库中,对于 C++ 编译器我可以找到 cpp_plugin.h has some codes to create service related files but similar file is not available for Matlab in here or here

你能告诉我如何为服务创建 Matlab 文件吗?

附上我执行上述命令时创建的文件, sample_files.zip

Github issue

谢谢

protobuf-matlab 只是一个 protobuf 插件 - 它生成代码到 read/write 协议缓冲区。

不幸的是,它没有实现 gRPC 插件来构建客户端存根和服务器。

如果您能够从另一种语言调用您的 matlab 代码,您可以在外部托管 gRPC 服务器,例如在 dotnet 中创建 gRPC 服务器并使用 COM 调用您的 matlab 代码。