ET框架新起一个服务及实现服务之间的消息通讯

news2025/2/27 14:27:01

ET框架是熊猫大大写的双端框架,游戏客户端和服务端都是用C#语言来编写

新起一个服务名比如叫做Activity

1.配置文件StartSceneConfig

2. SceneFactory

switch (scene.SceneType)
{
     case SceneType.Activity:
     break;
}

定义SceneType枚举类型

public enum SceneType: uint
{
	Activity = 66,
}

3.在InnerMessage.proto文件中定义消息

//ResponseType Activity2Other_Test
message Other2Activity_Test     //IActorRequest
{
    int32 RpcId = 90;
	string testMessage = 1;
}

message Activity2Other_Test     // IActorResponse
{
     int32 RpcId = 90;
     int32 Error    = 91;
     string Message = 92;
	 string responseMessage = 2;
}

4.导入配置文件和Proto文件

5.发送消息及编写消息的处理类

StartSceneConfig startSceneConfig = StartSceneConfigCategory.Instance.GetBySceneName(unit.DomainZone(), "Activity");
Activity2Other_Test test = (Activity2Other_Test)await ActorMessageSenderComponent.Instance.Call(startSceneConfig.InstanceId, new Other2Activity_Test() { testMessage="12345" });
Log.Debug("###############" + test.responseMessage);

namespace ET.Server
{
    [ActorMessageHandler(SceneType.Activity)]
    public class Other2Activity_TestHandler: AMActorRpcHandler<Scene,Other2Activity_Test,Activity2Other_Test>
    {
        protected override async ETTask Run(Scene scene, Other2Activity_Test request, Activity2Other_Test response)
        {
            Log.Debug("%%%%%%%%%%%%$$$$$####@@@@@@@@@@@"+request.testMessage);
            Log.Debug("&&"+scene.Name);
            response.responseMessage = "67890";
            await ETTask.CompletedTask;
        }
    }
}

6.打印输出结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1528481.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机网络——物理层(物理传输介质和物理层的设备)

计算机网络——物理层&#xff08;物理传输介质和物理层的设备 物理传输介质导向性传输介质双绞线同轴电缆光纤 非导向性传输介质无线电波多径效应 微波地面微波通信ISM 频段 卫星通信 物理层设备中继器集线器中继器和集线器的区别 我们今天进入物理层的物理传输介质和物理层的…

【原创】手动安装open-webui,非官方docker安装方法,可汉化ui

open-webui是一个为LLMs&#xff08;大型语言模型&#xff09;设计的友好型Web用户界面&#xff0c;支持Ollama和OpenAI兼容的API。它提供了直观的聊天界面、响应式设计、快速响应性能、简易安装、代码语法高亮、Markdown和LaTeX支持、本地RAG集成、Web浏览能力、提示预设支持、…

Vue 中使用事件总线来进行组件间通信($emit()、$on() 和 $off())

使用场景&#xff1a; 上一篇文章中写到的&#xff1a; echarts图表左击显示自定义弹框&#xff0c;右击取消自定义弹框 结构图&#xff1a;&#xff08;removet修改为remove&#xff09; 假设这个echarts图表是子组件B页面中。而父页面A的自定义弹框标签里调用了子组件B&am…

如何使用生成式AI来制定SEO内容策略?

SEO内容策略是一系列旨在优化网站内容以提高其在搜索引擎中排名的行动计划&#xff0c;从而增加网站流量并提升品牌影响力。在当今互联网信息海量的情况下&#xff0c;优秀的SEO内容策略可以帮助您的网站脱颖而出&#xff0c;吸引更多目标用户。 背景知识 SEO&#xff08;搜索…

基于Java中的SSM框架实现任务发布接收系统项目【项目源码+论文说明】计算机毕业设计

基于Java中的SSM框架实现任务发布接收系统演示 摘要 在如今的互联网发展的时代&#xff0c;互联网成了时代的主角&#xff0c;是这个时代的超级呈现家。在互联网的大家族中&#xff0c;任务发布永远是一个关键点。因为我们所有人离不开任务的发布与任务的管理&#xff0c;因为…

【经验分享】如何在IDEA中快速学习|审查|复习代码工程?

在IDEA中快速学习或审查工程 必要性 提高代码质量和可维护性熟悉项目结构和逻辑发现优化机会知识共享和传承规范团队实践 常用操作 快速浏览工程结构&#xff0c;类&#xff0c;方法&#xff0c;确定位置&#xff1a;“Structure” 查看类、方法或变量的所有引用位置&#…

Axure RP10汉化版获取:低成本高效率操作!

作为市场份额最高的专业原型设计工具&#xff0c;Axure RP10 毫无疑问&#xff0c;功能的强大性和灵活性也受到许多产品经理和设计师的青睐。许多世界百强公司也在使用Axure进行原型设计 RP10。但对于许多本土设计师来说&#xff0c;Axure RP10 全英语界面和陡峭的学习曲线让人…

mac下 3.6.3 版本 maven

问题 Blocked mirror for repositories: [snapshots (http://xxx/artifactory/gm-maven-vir, default, releasessnapshots)]无法访问 Maven 3.8.1 http 仓库。可能的解决方案: - 检查 Maven settings.xml 是否不包含 http 仓库 - 检查 Maven pom 文件是否不包含 http 仓库 htt…

SpringBoot3整合Elasticsearch8.x之全面保姆级教程

整合ES 环境准备 安装配置ES&#xff1a;https://blog.csdn.net/qq_50864152/article/details/136724528安装配置Kibana&#xff1a;https://blog.csdn.net/qq_50864152/article/details/136727707新建项目&#xff1a;新建名为web的SpringBoot3项目 elasticsearch-java 公…

Xilinx LVDS ISERDESE2

ISERDESE2 7 系列 FPGA 是一款专用的串行到并行转换器,具有特定的时钟和逻辑功能,旨在促进高速源同步应用的实现。该ISERDESE2避免了在FPGA架构中设计解串器时遇到的额外时序复杂性. ISERDESE2功能包括: 1,专用解串器/串行转换器 ISERDESE2解串器可实现高速数据传输,而无需…

C语言 实用调试技巧

我们的博客已经更新到了数据结构&#xff0c;但是当我在深耕数据结构时我发现我在C语言是遗漏了一个重要的东西&#xff0c;那就是C语言的使用调试技巧。这篇博客对数据结构非常重要&#xff0c;请大家耐心观看。 1. 什么是bug&#xff1f; 第一次被发现的导致计算机错误的飞蛾…

TCPIP协议总结

一、TCP的三次握手 TCP连接的建立时&#xff0c;双方需要经过三次握手&#xff0c;而断开连接时&#xff0c;双方需要经过四次分手&#xff0c;那么&#xff0c;其三次握手和四次分手分别做了什么呢&#xff1f;又是如何进行的呢&#xff1f; 通常情况下&#xff0c;建立连接的…

数据可视化看板的进阶之路:山海鲸可视化私有化部署体验

作为一名长期使用山海鲸可视化的资深用户&#xff0c;我在数据可视化看板的制作过程中&#xff0c;深刻感受到了这款软件带来的便捷与高效。今天&#xff0c;我想与大家分享一些我在使用山海鲸可视化制作数据可视化看板时的经验&#xff0c;给对这款产品同样感兴趣的朋友同行一…

使用ansible剧本进行lvm分盘

使用 Ansible 剧本&#xff08;Playbook&#xff09;进行 LVM 分区管理是一种自动化的方式&#xff0c;可以帮助管理员在多台主机上批量管理逻辑卷。 部署环境 3台主机&#xff0c;添加硬盘 ansible-galaxy collection install community.general 联网执行&#xff0c;下…

高防服务器秒解是什么意思

高防服务器秒解是指高防服务器在遭受大规模的DDoS攻击时&#xff0c;能够迅速解决问题或应对攻击。DDoS攻击是指攻击者通过向目标服务器发送大量的请求&#xff0c;使服务器资源耗尽或无法正常响应其他合法用户的请求&#xff0c;从而导致服务不可用。高防服务器通过具备高性能…

SLAM算法与工程实践——CMake使用(1)

SLAM算法与工程实践系列文章 下面是SLAM算法与工程实践系列文章的总链接&#xff0c;本人发表这个系列的文章链接均收录于此 SLAM算法与工程实践系列文章链接 下面是专栏地址&#xff1a; SLAM算法与工程实践系列专栏 文章目录 SLAM算法与工程实践系列文章SLAM算法与工程实践…

【vue】深入探讨vue中组件间多种传值方式

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

直流调速器DCS800-S02-0260-05模块DCS800S02026005

型号代码&#xff1a;DCS800-S02-0260-05 电压&#xff1a;525V&#xff1b; 电流&#xff1a;350A&#xff1b; 双桥&#xff1b; 重量&#xff1a;25公斤&#xff1b; 定制&#xff1a;否 最小起订量&#xff1a;1 件 产品名称&#xff1a;DCS800直流调速模块 产品净深/长度&…

Kotlin: 协程的四种启动模式(CoroutineStart)

点击查看CoroutineStart英文文档 创建协程的三种方式 runBlocking 运行一个协程并且会阻塞当前线程&#xff0c;直到它完成。launch 启动一个新的协程&#xff0c;不会阻塞当前线程&#xff0c;并且返回一个Job&#xff0c;可以取消。async async和await是两个函数&#xff0c…

【CSPP】2021-04-2 邻域均值 经典二维前缀和

2021-04-2 邻域均值 经典二维前缀和 索引2021-04-2 邻域均值 经典二维前缀和思路遇到的问题完整代码 索引 历年CSP认证考试真题题解总汇持续更新 2021-04-2 邻域均值 经典二维前缀和 这题算是第二题中简单的那种了&#xff0c;但是我还是写了接近40分钟才AC&#xff0c;写二…