public override bool Initialize()
        {
            System.Threading.Thread.Sleep(1500);

            if (false == base.Initialize())
            {
                return(false);
            }

            if (false == RedisMultiplexer.Instance.Start(eRedis.Token, rdToken()))
            {
                return(false);
            }

            if (false == RedisMultiplexer.Instance.Start(eRedis.Game, rdGame()))
            {
                return(false);
            }

            //if (false == RedisMultiplexer.Instance.Start(eRedis.Log, dbLog()))
            //    return false;

            m_messageExecuter.Start(new MessageDispatcher(this));
            m_separator.Start(this);



            List <Connector> listConnector = new List <Connector>();

            m_atchCenter = new CenterServerAttacher(this);
            ChatServerAttacher chatSvr = new ChatServerAttacher(this);

            //m_chatSvr = new ChatServerAttacher(this);
            listConnector.Add(m_atchCenter);
            listConnector.Add(chatSvr);

            ChatSessionManager.Instance.SetAttacher(chatSvr, m_config);

            // managerSAEA
            m_managerSAEA.Initialize(m_config);

            // for client
            m_netServiceForClient = new NetService(this,
                                                   new ClientSessionHandler(m_managerSAEA, OnAddClientSession, OnRemoveClientSession),
                                                   new NetListenable(m_config.m_listnerClient));

            // for attacher
            m_managerSessionForServer = new ServerSessionManager();
            m_netServiceForAttach     = new NetService(this,
                                                       new ServerSessionHandler(m_managerSAEA, OnAddServerSession, OnRemoveServerSession, OnCheckingServer),
                                                       new NetAttachable(listConnector));

            m_netServiceForClient.Initialize(OnHandleMessage);
            m_netServiceForAttach.Initialize(OnHandleMessage);

            // attaching
            m_atchCenter.OnAttach(m_config.m_nSequence, m_config.m_center, m_config.m_listnerClient);
            //m_atchCenter.OnAttach(m_config.m_nSequence, m_config.m_center, m_config.m_listnerClient);
            return(true);
        }
        public override bool Initialize()
        {
            System.Threading.Thread.Sleep(100);

            if (false == base.Initialize())
            {
                return(false);
            }

            SyncMainRoute.Instance.Start();

            m_messageExecuter.Start(new MessageDispatcher(this));

            //if (false == DataBaseManager.Instance.Initialize(m_config.m_db))
            //    return false;

            List <Connector> listConnector = new List <Connector>();

            m_atchCenter = new CenterServerAttacher(this);
            listConnector.Add(m_atchCenter);

            m_managerSessionForServer = new ServerSessionManager();
            m_managerSAEA.Initialize(m_config);

            // managerSAEA
            m_managerSAEA.Initialize(m_config);

            // for client
            m_netServiceForClient = new NetService(this,
                                                   new ClientSessionHandler(m_managerSAEA, OnAddClientSession, OnRemoveClientSession),
                                                   new NetListenable(m_config.m_listnerClient));

            // for attacher
            m_managerSessionForServer = new ServerSessionManager();
            m_netServiceForAttach     = new NetService(this,
                                                       new ServerSessionHandler(m_managerSAEA, OnAddServerSession, OnRemoveServerSession, OnCheckingServer),
                                                       new NetBothRole(m_config.m_listnerServer, listConnector));

            m_netServiceForClient.Initialize(OnHandleMessage);
            m_netServiceForAttach.Initialize(OnHandleMessage);


            m_atchCenter.OnAttach(m_config.m_nSequence, m_config.m_center, m_config.m_listnerClient);

            return(true);
        }