Exemple #1
0
                /// <summary>
                /// 当服务组连接断开
                /// </summary>
                /// <param name="sessionID">服务组连接sessionID</param>
                private void OnServerConnectionClose(ConnectionSession connSesion)
                {
                    PtServerInfo svrInfo = null;

                    if (m_connService.GetConnectServerInfo(ref svrInfo))
                    {
                        ReconnectServerInfo reconnSvrInfo = new ReconnectServerInfo(svrInfo);
                        SIReconnectManager.Instance.AddReconnectInfo(reconnSvrInfo);
                    }
                    else
                    {
                        ConnectIPPort ipPort = new ConnectIPPort(m_ip, m_port);
                        SIReconnectManager.Instance.AddReconnectInfo(ipPort);
                    }

                    SIConnServiceManager.Instance.RemoveConnService(m_id);
                }
Exemple #2
0
            public void Update(int curSvrTime)
            {
                while (m_reconnSvrInfoList.First != null)
                {
                    if (m_reconnSvrInfoList.First.Value.ReconnectTime < curSvrTime)
                    {
                        //重连
                        if (SIConnServiceManager.Instance.CreateConnService(m_reconnSvrInfoList.First.Value.m_SvrInfo) == false)
                        {
                            LinkedListNode <ReconnectServerInfo> reconnSvrInfoNode = m_reconnSvrInfoList.First;
                            ReconnectServerInfo newInfo = new ReconnectServerInfo(reconnSvrInfoNode.Value.m_SvrInfo);
                            m_reconnSvrInfoList.AddLast(newInfo);
                        }
                        m_reconnSvrInfoList.RemoveFirst();
                    }
                    else
                    {
                        break;
                    }
                }

                while (m_reconnIPPortList.First != null)
                {
                    if (m_reconnIPPortList.First.Value.ReconnectTime < curSvrTime)
                    {
                        //重连
                        if (SIConnServiceManager.Instance.CreateConnService(m_reconnIPPortList.First.Value.m_IP, m_reconnIPPortList.First.Value.m_Port) == false)
                        {
                            LinkedListNode <ConnectIPPort> reconnIPPortNode = m_reconnIPPortList.First;
                            ConnectIPPort newInfo = new ConnectIPPort(reconnIPPortNode.Value.m_IP, reconnIPPortNode.Value.m_Port);
                            m_reconnIPPortList.AddLast(newInfo);
                        }
                        m_reconnIPPortList.RemoveFirst();
                    }
                    else
                    {
                        break;
                    }
                }
            }
Exemple #3
0
 public void AddReconnectInfo(ReconnectServerInfo reconnSvrInfo)
 {
     m_reconnSvrInfoList.AddLast(reconnSvrInfo);
 }