当前位置: 首页 > article >正文

Unity的gRPC使用之实现客户端

应用背景:本想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是否配置成功,Win+R输入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=. --plugin=protoc-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就是返回的数据
        }

结束!


http://www.kler.cn/a/378153.html

相关文章:

  • 基于Matlab实现无刷直流电机仿真
  • 【机器学习与数据挖掘实战】案例06:基于Apriori算法的餐饮企业菜品关联分析
  • 2025系统架构师(一考就过):案例题之一:嵌入式架构、大数据架构、ISA
  • centos-stream9系统安装docker
  • 【ue5学习笔记2】在场景放入一个物体的蓝图输入事件无效?
  • 【Qt】显示类控件:QLabel、QLCDNumber、QProgressBar、QCalendarWidget
  • 基于统计方法的语言模型
  • kubesphere jenkins自动重定向 http://ks-apiserver:30880/oauth/authorize
  • 开源库 FloatingActionButton
  • new/delete和malloc()/free()的区别及其使用
  • 无人机航拍铁路障碍物识别图像分割系统:创新焦点发布
  • 将分类标签转换为模型可以处理的数值格式
  • Android 蓝牙连接 HID 设备
  • 【RAG】自动化RAG框架-“AutoML风”卷到了RAG?
  • 基于Android13源码分析Launcher启动
  • java多线程编程(二)一一>线程安全问题, 单例模式, 解决程线程安全问题的措施
  • FRAMES数据集:由谷歌和哈佛大学 联合创建一个综合评估数据集,目的测试检索增强生成系统在事实性、检索准确性和推理方面的能力
  • .card ~ img { width: 100%; height: 100%; object-fit: cover; }
  • git入门教程12:git命令与技巧
  • 论 ONLYOFFICE:开源办公套件的深度探索
  • PyTorch实战-手写数字识别-CNN模型
  • 【已解决,含泪总结】Ubuntu18.04下非root用户Anaconda3卸载重装,conda install终于不再报错
  • 可编辑31页PPT | 智慧业务中台规划建设与应用总体方案
  • 大厂面试真题-MVCC有哪些不好
  • 小白从零开始配置pytorch环境
  • Apache 负载均衡详细配置步骤