private void ProcessLoginServerEvent(LoginServerEvent e) { var channel = e.Channel; var message = e.Message; if (message.LoginStage == ELoginStage.PreLogin) { _roomManager.CreateRoomIfNotExist(); if (!_roomManager.RequestRoomInfo(message.Token, channel)) { _logger.InfoFormat("illegal login token:{0}", message.Token); channel.Disconnect(); } } else if (message.LoginStage == ELoginStage.GetPlayerInfo) { if (!_roomManager.RequestPlayerInfo(message.Token, channel)) { _logger.InfoFormat("illegal login token:{0}", message.Token); channel.Disconnect(); } } else if (message.LoginStage == ELoginStage.RequestSnapshot) { _roomManager.SetPlayerStageRunning(message.Token, channel); } }
private void OnLoginServer(LoginServerEvent e) { if (e.Message.LoginStage == ELoginStage.PreLogin) { _connectedChannels.Add(e.Channel); } if (_hasHallServer && e.Message.LoginStage == ELoginStage.RequestSnapshot) { var token = e.Message.Token; if (_loginStates.ContainsKey(token)) { _loginStates.Remove(token); } } }
private void ProcessLoginServerEvent(LoginServerEvent e) { var channel = e.Channel; var message = e.Message; if (message.LoginStage == ELoginStage.PreLogin) { _roomManager.CreateRoomIfNotExist(); if (!_roomManager.RequestRoomInfo(message.Token, channel)) { _logger.InfoFormat("illegal login token:{0}", message.Token); channel.Disconnect(); } } else if (message.LoginStage == ELoginStage.GetPlayerInfo) { if (!_roomManager.RequestPlayerInfo(message.Token, channel)) { _logger.InfoFormat("illegal login token:{0}", message.Token); channel.Disconnect(); } } else if (message.LoginStage == ELoginStage.RequestSnapshot) { if (message.ComponentSerializerVersion.Equals(ComponentSerializerManager.HashMd5)) { _roomManager.SetPlayerStageRunning(message.Token, channel); } else { _logger.ErrorFormat("illegal ComponentSerializerVersion: client:{0} != server{1}", message.LoginStage, ELoginStage.RequestSnapshot); channel.Disconnect(); } } }