public Task ReceiveAsync(IContext context) { switch (context.Message) { case RequestPackage package: //ResponsePackage repPackage = new ResponsePackage(); //repPackage.InitPackage(package); //IByteBuffer data = GameEnvironment.ActionDispatcher.TryEncodePackage(repPackage); //var session = SessionManager.Get(repPackage.SessionId); //session.PostSend(data); RequestData reqPackage = new RequestData(); reqPackage.ActorName = ActorManagement.GetActorName <LoginActor>(); var loginPid = ActorManagement.GetOrLoadPid <LoginActor>(); loginPid.Tell(reqPackage); break; } return(Actor.Done); }
public void DispatchPackage(RequestData package) { PID srcPid = null; ResponseData response = new ResponseData(); response.IntiPackage(package); try { srcPid = ActorManagement.GetOrLoadPid(package.ActorName); if (srcPid == null) { throw new Exception("获取Actor失败"); } switch ((RpcMsgType)package.MessageType) { case RpcMsgType.LoadRoomInfo: break; case RpcMsgType.LoadUserInfo: break; } } catch (Exception ex) { response.ErrorCode = 10000; response.ErrorInfo = ex.Message; TraceLog.WriteError("{0},{1}", ex.Message, ex.StackTrace); } finally { if (srcPid != null) { srcPid.Tell(response); } } }
public Task ReceiveAsync(IContext context) { switch (context.Message) { case RequestPackage package: try { var pid = ActorManagement.GetOrLoadPid(package.ActorName); if (pid != null) { var response = new ResponsePackage(); response.InitPackage(package); response.Data = "注册成功"; pid.Tell(response); } } catch (Exception ex) { } break; } return(Actor.Done); }