MailboxGateSessionHandler.cs 687 B

1234567891011121314151617181920212223242526272829
  1. using System;
  2. using ETModel;
  3. namespace ETHotfix
  4. {
  5. /// <summary>
  6. /// gate session类型的Mailbox,收到的actor消息直接转发给客户端
  7. /// </summary>
  8. [MailboxHandler(AppType.Gate, MailboxType.GateSession)]
  9. public class MailboxGateSessionHandler : IMailboxHandler
  10. {
  11. public async ETTask Handle(Session session, Entity entity, object actorMessage)
  12. {
  13. try
  14. {
  15. IActorMessage iActorMessage = actorMessage as IActorMessage;
  16. // 发送给客户端
  17. Session clientSession = entity as Session;
  18. iActorMessage.ActorId = 0;
  19. clientSession.Send(iActorMessage);
  20. await ETTask.CompletedTask;
  21. }
  22. catch (Exception e)
  23. {
  24. Log.Error(e);
  25. }
  26. }
  27. }
  28. }