Ejemplo n.º 1
0
int CWorldCrossclient::init(const char* pszEtcFile)
{
    LogInfo("CWorldCrossclient::init()", "");

    int nWorldInit = world::init(pszEtcFile);
    if(nWorldInit != 0)
    {
        return nWorldInit;
    }

    //计算def文件的md5
    {
        try
        {
            const string& strDefPath = GetCfgReader()->GetValue("init", "def_path");
            m_strDefMd5.assign(GetDefParser().CalcMd5OfAll(strDefPath.c_str()));
            LogInfo("CalcMd5OfAll", "md5=%s", m_strDefMd5.c_str());
        }
        catch(const CException& ex)
        {
            LogError("CWorldCrossclient::init.error", "Failed_to_calc_def_md5");
            return -10;
        }        
    }    

    return 0;
}
Ejemplo n.º 2
0
int CWorldCrossserver::init(const char* pszEtcFile)
{
	LogInfo("CWorldCrossserver::init()", "");

	int nWorldInit = world::init(pszEtcFile);
	if(nWorldInit != 0)
	{
		return nWorldInit;
	}

	//将所有的
	list<CMailBox*>& mbs = m_mbMgr.GetMailboxs();
	list<CMailBox*>::iterator iter = mbs.begin();
	for(; iter != mbs.end(); ++iter)
	{
		CMailBox* p = *iter;
		if(p->GetServerMbType() == SERVER_BASEAPP)
		{
			m_baseBalance.AddNewId(p->GetMailboxId());
		}
	}

	//计算def文件的md5
	{
		try
		{
			const string& strDefPath = GetCfgReader()->GetValue("init", "def_path");
			m_strDefMd5.assign(GetDefParser().CalcMd5OfAll(strDefPath.c_str()));
			LogInfo("CalcMd5OfAll", "md5=%s", m_strDefMd5.c_str());
		}
		catch(const CException& ex)
		{
			LogError("CWorldCrossserver::init.error", "Failed_to_calc_def_md5");
			return -10;
		}        
	}    

	return 0;
}