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

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

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.kler.cn/a/273976.html

相关文章:

  • C# 设计模式(结构型模式):外观模式
  • 开源平台Kubernetes的优势是什么?
  • 【读书与思考】历史是一个好东西
  • 权限掩码umask
  • linux系统(ubuntu,uos等)连接鸿蒙next(mate60)设备
  • JavaScript系列(8)-- Array高级操作
  • java毕业设计 | springboot+vue游戏交流网站(附源码)
  • 中国传统游戏-幻方-c/c++实现
  • 每天一个数据分析题(二百一十五)
  • 【leetcode】动态规划专题
  • html--蝴蝶
  • 生成微信小程序二维码
  • 由浅到深认识C语言(6):变量的存储类型
  • 如何在 docker 容器内部运行 docker命令
  • 活动报名 | 数能涌现,三生万物,长安链发布三周年庆暨生态年会邀您共聚
  • 微信公众号 H5本地调试配置 hosts + nginx + openssl
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(绘制组件:Path)
  • AI将如何影响我们的生活?
  • 快速高效地数据分析处理:QtiPlot for Mac中文直装版 兼容M
  • Codeforces Round 932 (Div. 2) D. Exam in MAC【正难则反+容斥原理】
  • 【Unity】CatlikeCoding SRP
  • PHP反序列化--pop链
  • 手势追踪技术在HTC VIVE中的应用与实现
  • USART串口
  • 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级的理解
  • 二、yocto 集成ros2(基于raspberrypi 4B)