C2R_LoginHandler.cs 915 B

12345678910111213141516171819202122232425262728
  1. using System;
  2. using System.Net;
  3. using ETModel;
  4. namespace ETHotfix
  5. {
  6. [MessageHandler]
  7. public class C2R_LoginHandler : AMRpcHandler<C2R_Login, R2C_Login>
  8. {
  9. protected override async ETTask Run(Session session, C2R_Login request, R2C_Login response, Action reply)
  10. {
  11. // 随机分配一个Gate
  12. StartConfig config = RealmGateAddressHelper.GetGate();
  13. //Log.Debug($"gate address: {MongoHelper.ToJson(config)}");
  14. // 向gate请求一个key,客户端可以拿着这个key连接gate
  15. G2R_GetLoginKey g2RGetLoginKey = (G2R_GetLoginKey) await ActorMessageSenderComponent.Instance.Call(
  16. config.SceneInstanceId, new R2G_GetLoginKey() {Account = request.Account});
  17. string outerAddress = config.GetParent<StartConfig>().GetComponent<OuterConfig>().Address2;
  18. response.Address = outerAddress;
  19. response.Key = g2RGetLoginKey.Key;
  20. response.GateId = g2RGetLoginKey.GateId;
  21. reply();
  22. }
  23. }
  24. }