个人网站做论坛还是博客好,佛山建筑设计院有限公司官网,新浪军事网,wordpress短视频主题应用背景#xff1a;本想Unity调用C的dll库获取一些数据资源#xff0c;但是由于自己调用的C库模块化处理的不太理想#xff0c;众多dll之间相互依赖#xff0c;使得在调用dll的时候#xff0c;会忽略一些dll的缺失#xff0c;使Unity项目报错#xff0c;故想到了使用gR…应用背景本想Unity调用C的dll库获取一些数据资源但是由于自己调用的C库模块化处理的不太理想众多dll之间相互依赖使得在调用dll的时候会忽略一些dll的缺失使Unity项目报错故想到了使用gRPC来获取远程服务的数据。前提是自己已经写了一个调用C的dll库的proto脚本。 由于我的Unity项目只是请求数据即只实现了客户端。记录下来方便后续的的使用。
1. 安装protoBuf 下载地址https://github.com/protocolbuffers/protobuf/releases 我这里是Window64位的系统下载相应版本下载的内容解压如下图所示。 把里面的bin文件配置到计算机的环境变量Path中如下图所示。 检验protobuf是否配置成功WinR输入cmd输入protoc --version如下图所示。 有版本信息即为成功。 2. 下载gRPC并生成cs文件 下载地址https://packages.grpc.io/archive/2022/02/cc3de1c3eba4c342c406729649f3c39f829dcdbc-24ad316a-7a17-4194-ac29-a95eceae67c6/index.xml 选择相应的版本解压到一个文件夹中内容如下。 例如自己的转换文件为Test.proto。在上述的文件夹下输入下列指令。Unity项目是用C#语言开发的。
.\protoc.exe --csharp_out. --grpc_out. --pluginprotoc-gen-grpc.\grpc_csharp_plugin.exe .\Test.proto回车之后即在该文件夹下生成Test.cs脚本并导入到Unity项目中。 3. 下载gRPC的Unity依赖包并导入Unity 下载地址同上。 解压之后内容导入到Unity项目的Plgins中内容如下。
4. Unity使用
void Start(){//建立gRPC通道Channel channel new Channel(192.168.1.100:9007, ChannelCredentials.Insecure);var client new Test(channel);var response client.GetData(1);//respons就是返回的数据}结束