Example #1
0
        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);
            }
        }
Example #2
0
        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);
                }
            }
        }
Example #3
0
        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();
                }
            }
        }