#include "StdAfx.h" #include "InitParameter.h" ////////////////////////////////////////////////////////////////////////////////// //时间定义 #define TIME_CONNECT 30 //重连时间 #define TIME_COLLECT 30 //统计时间 //客户时间 #define TIME_INTERMIT 0 //中断时间 #define TIME_ONLINE_COUNT 600 //人数时间 ////////////////////////////////////////////////////////////////////////////////// //构造函数 CInitParameter::CInitParameter() { m_ServiceLevel = 0; InitParameter(); } //析构函数 CInitParameter::~CInitParameter() { } //初始化 VOID CInitParameter::InitParameter() { //时间定义 m_wConnectTime = TIME_CONNECT; m_wCollectTime = TIME_COLLECT; //协调信息 m_wCorrespondPort = PORT_CENTER; ZeroMemory(&m_CorrespondAddress, sizeof(m_CorrespondAddress)); //配置信息 ZeroMemory(m_szServerName, sizeof(m_szServerName)); ZeroMemory(&m_ServiceAddress, sizeof(m_ServiceAddress)); ZeroMemory(&m_TreasureDBParameter, sizeof(m_TreasureDBParameter)); ZeroMemory(&m_PlatformDBParameter, sizeof(m_PlatformDBParameter)); //ZeroMemory(&m_PlatformDBParameter, sizeof(TCHAR) * 512); return; } //加载配置 VOID CInitParameter::LoadInitParameter() { //重置参数 InitParameter(); //获取路径 TCHAR szWorkDir[MAX_PATH] = TEXT(""); CWHService::GetWorkDirectory(szWorkDir, CountArray(szWorkDir)); //构造路径 TCHAR szIniFile[MAX_PATH] = TEXT(""); _sntprintf(szIniFile, CountArray(szIniFile), TEXT("%s\\ServerParameter.ini"), szWorkDir); //读取配置 CWHIniData IniData; IniData.SetIniFilePath(szIniFile); //读取配置 IniData.ReadEncryptString(TEXT("ServerInfo"), TEXT("ServiceName"), NULL, m_szServerName, CountArray(m_szServerName)); IniData.ReadEncryptString(TEXT("ServerInfo"), TEXT("ServiceAddr"), NULL, m_ServiceAddress.szAddress, CountArray(m_ServiceAddress.szAddress)); //协调信息 m_wCorrespondPort = IniData.ReadInt(TEXT("Correspond"), TEXT("ServicePort"), m_wCorrespondPort); IniData.ReadEncryptString(TEXT("ServerInfo"), TEXT("CorrespondAddr"), NULL, m_CorrespondAddress.szAddress, CountArray(m_CorrespondAddress.szAddress)); //连接信息 m_TreasureDBParameter.wDataBasePort = (WORD)IniData.ReadInt(TEXT("TreasureDB"), TEXT("DBPort"), 1433); IniData.ReadEncryptString(TEXT("TreasureDB"), TEXT("DBAddr"), NULL, m_TreasureDBParameter.szDataBaseAddr, CountArray(m_TreasureDBParameter.szDataBaseAddr)); IniData.ReadEncryptString(TEXT("TreasureDB"), TEXT("DBUser"), NULL, m_TreasureDBParameter.szDataBaseUser, CountArray(m_TreasureDBParameter.szDataBaseUser)); IniData.ReadEncryptString(TEXT("TreasureDB"), TEXT("DBPass"), NULL, m_TreasureDBParameter.szDataBasePass, CountArray(m_TreasureDBParameter.szDataBasePass)); IniData.ReadEncryptString(TEXT("TreasureDB"), TEXT("DBName"), szTreasureDB, m_TreasureDBParameter.szDataBaseName, CountArray(m_TreasureDBParameter.szDataBaseName)); //连接信息 m_PlatformDBParameter.wDataBasePort = (WORD)IniData.ReadInt(TEXT("PlatformDB"), TEXT("DBPort"), 1433); IniData.ReadEncryptString(TEXT("PlatformDB"), TEXT("DBAddr"), NULL, m_PlatformDBParameter.szDataBaseAddr, CountArray(m_PlatformDBParameter.szDataBaseAddr)); IniData.ReadEncryptString(TEXT("PlatformDB"), TEXT("DBUser"), NULL, m_PlatformDBParameter.szDataBaseUser, CountArray(m_PlatformDBParameter.szDataBaseUser)); IniData.ReadEncryptString(TEXT("PlatformDB"), TEXT("DBPass"), NULL, m_PlatformDBParameter.szDataBasePass, CountArray(m_PlatformDBParameter.szDataBasePass)); IniData.ReadEncryptString(TEXT("PlatformDB"), TEXT("DBName"), szPlatformDB, m_PlatformDBParameter.szDataBaseName, CountArray(m_PlatformDBParameter.szDataBaseName)); CTraceService::TraceString(m_PlatformDBParameter.szDataBasePass, TraceLevel_Normal); //读取redis配置 TCHAR pszHost[32] = TEXT("127.0.0.1"); IniData.ReadString(TEXT("RedisConf"), TEXT("Host"), TEXT("127.0.0.1"), pszHost, CountArray(pszHost)); m_RedisHost = CT2A(pszHost); m_RedisPort = IniData.ReadInt(TEXT("RedisConf"), TEXT("Port"), m_RedisPort); m_RedisDb = IniData.ReadInt(TEXT("RedisConf"), TEXT("Db"), m_RedisDb); m_RedisTimeOut = IniData.ReadInt(TEXT("RedisConf"), TEXT("TimeOut"), m_RedisTimeOut); m_RedisMaxReconnect = IniData.ReadInt(TEXT("RedisConf"), TEXT("MaxReconnect"), m_RedisMaxReconnect); m_RedisReconnectInterval = IniData.ReadInt(TEXT("RedisConf"), TEXT("ReconnectInterval"), m_RedisReconnectInterval); return; } //////////////////////////////////////////////////////////////////////////////////