//加密验证 BOOL CPgisMainSer::SysEncryptCheck() { Crwini rwIniTemp; CString tempstr =_T("pGisMainCtrlCfg.ini"); BOOL bRes = TRUE; CString strTempEncrypt1,strTempEncrypt2; if(rwIniTemp.ReadString(_T("SystemSet"),_T("EncryptText"),tempstr,strTempEncrypt1.GetBuffer(256)) == 0) { bRes = FALSE ; } else { strTempEncrypt1.ReleaseBuffer(); } CEncrypt tempEncryptClass; bRes = tempEncryptClass.CompareEncryptText(strTempEncrypt1,m_nMaxGisConnCount); if(!bRes) { CString strPswdTxt; strPswdTxt = tempEncryptClass.OutputPWSDText(); TCHAR szFilePath[MAX_PATH] ={0}; ::GetModuleFileName(NULL, szFilePath, MAX_PATH); (strrchr(szFilePath,'\\'))[1] = 0; char *fn = "HYTPswd.txt"; strcat(szFilePath,fn); char m_pswdInfo[512]={0}; strcat(m_pswdInfo,strPswdTxt); FILE *fhandle; fhandle = fopen(szFilePath, "w+"); if(fhandle == NULL) { return bRes; } if(fseek(fhandle, 0, SEEK_END) != 0) { fclose(fhandle); return bRes; } fwrite((LPCTSTR)m_pswdInfo, 1, strlen(m_pswdInfo), fhandle); fclose(fhandle); } return bRes; }
//设置日志 void CGPSProc::SetLog() { Crwini rwIniTemp; CString tempstr =_T("pGisPubNetCfg.ini"); if(rwIniTemp.CheckIniFile(tempstr)) { //日志级别 int nTempLevel; int nTempV; nTempLevel = rwIniTemp.GetInt(_T("SystemSet"),_T("LogLevel"),tempstr); nTempV = rwIniTemp.GetInt(_T("SystemSet"),_T("LogFileCleanupDate"),tempstr); gWriteLogApp.StartLog("GpsPublicNetLog",nTempLevel,nTempV); } }
BOOL CDBManage_WebServer::LoadConfig() { Crwini rwIniTemp; if(!rwIniTemp.CheckIniFile(gPGisMainCtrlProc.g_strConfigFile)) { gWriteLogApp.WriteLog(FOR_ALARM,"%s [SYS] 系统启动失败,找不到配置文件\n",CTime::GetCurrentTime().Format("%H:%M:%S")); return FALSE; } if(NULL != rwIniTemp.ReadString(_T("DBServer"),_T("WebServiceURL"),gPGisMainCtrlProc.g_strConfigFile,m_strWebServiceURL.GetBuffer(256))) { m_strWebServiceURL.ReleaseBuffer(); } else { return FALSE; } return TRUE; }
BOOL CBusinessManage_GISTerminal::LoadConfig() { Crwini rwIniTemp; if(!rwIniTemp.CheckIniFile(gPGisMainCtrlProc.g_strConfigFile)) { gWriteLogApp.WriteLog(FOR_ALARM,"%s [SYS] 系统启动失败,找不到配置文件\n",CTime::GetCurrentTime().Format("%H:%M:%S")); return FALSE; } if(NULL == rwIniTemp.ReadString(_T("GISServer"),_T("LocalIP"),gPGisMainCtrlProc.g_strConfigFile,m_szLocalIP)) { strncpy(m_szLocalIP,"",sizeof(m_szLocalIP)); } if(NULL == (m_nLocalPort = rwIniTemp.GetInt(_T("GISServer"),_T("LocalPort"),gPGisMainCtrlProc.g_strConfigFile))) { m_nLocalPort = 9000; } if(NULL == rwIniTemp.ReadString(_T("GISServer"),_T("StartInfo"),gPGisMainCtrlProc.g_strConfigFile,m_szStartInfo)) { strncpy(m_szStartInfo,_T("服务启动成功!"),sizeof(m_szStartInfo)); } if(NULL == rwIniTemp.ReadString(_T("GISServer"),_T("ErrorInfo"),gPGisMainCtrlProc.g_strConfigFile,m_szErrorInfo)) { strncpy(m_szErrorInfo,_T("服务启动失败!"),sizeof(m_szErrorInfo)); } return TRUE; }
BOOL CGPSProc::LoadIOCPSystemConfig() { Crwini rwIniTemp; CString tempstr =_T("pGisPubNetCfg.ini"); if(!rwIniTemp.CheckIniFile(tempstr)) { gWriteLogApp.WriteLog(FOR_ALARM,"%s [SYS] 系统启动失败,找不到配置文件\n",CTime::GetCurrentTime().Format("%H:%M:%S")); return FALSE; } if(0 == (m_dwMaxConnect = rwIniTemp.GetInt(_T("NetSet"),_T("MaxConnect"),tempstr))) { m_dwMaxConnect = 20000; } if(0 == (m_dwAcceptTime = rwIniTemp.GetInt(_T("NetSet"),_T("AcceptTime"),tempstr))) { m_dwAcceptTime = 10; } if(0 == (m_dwIdleOverTime = rwIniTemp.GetInt(_T("NetSet"),_T("IdleOverTime"),tempstr))) { m_dwIdleOverTime = 100; } if(0 == (m_dwHeartBeatTime = rwIniTemp.GetInt(_T("NetSet"),_T("HeartBeatTime"),tempstr))) { m_dwHeartBeatTime = 30; } if(0 == (m_dwTimeAutoConnect = rwIniTemp.GetInt(_T("NetSet"),_T("TimeAutoConnect"),tempstr))) { m_dwTimeAutoConnect = 5; } if(0 == (m_dwIODataCount = rwIniTemp.GetInt(_T("NetSet"),_T("IODataCount"),tempstr))) { m_dwIODataCount = 10; } if(0 == (m_dwIODataBuffer = rwIniTemp.GetInt(_T("NetSet"),_T("IODataBuffer"),tempstr))) { m_dwIODataBuffer = 1024; } if(0 == (m_nSocketBuffer = rwIniTemp.GetInt(_T("NetSet"),_T("SocketBuffer"),tempstr))) { m_nSocketBuffer = 8096; } if(rwIniTemp.ReadString(_T("OldTer"),_T("LocalIP"),tempstr,m_szOldLocalIP) == 0) { strncpy(m_szOldLocalIP,"",sizeof(m_szOldLocalIP)); } if(0 == (m_nOldLocalPort = rwIniTemp.GetInt(_T("OldTer"),_T("LocalPort"),tempstr))) { m_nOldLocalPort = 9001; } if(rwIniTemp.ReadString(_T("OldTer"),_T("StartInfo"),tempstr,m_szOldStartInfo) == 0) { strncpy(m_szOldStartInfo,_T("服务启动成功!"),sizeof(m_szOldStartInfo)); } if(rwIniTemp.ReadString(_T("OldTer"),_T("ErrorInfo"),tempstr,m_szOldErrorInfo) == 0) { strncpy(m_szOldErrorInfo,_T("服务启动失败!"),sizeof(m_szOldErrorInfo)); } if(rwIniTemp.ReadString(_T("NewTer"),_T("LocalIP"),tempstr,m_szNewLocalIP) == 0) { strncpy(m_szNewLocalIP,"",sizeof(m_szOldLocalIP)); } if(0 == (m_nNewLocalPort = rwIniTemp.GetInt(_T("NewTer"),_T("LocalPort"),tempstr))) { m_nNewLocalPort = 9002; } if(rwIniTemp.ReadString(_T("NewTer"),_T("StartInfo"),tempstr,m_szNewStartInfo) == 0) { strncpy(m_szNewStartInfo,_T("服务启动成功!"),sizeof(m_szNewStartInfo)); } if(rwIniTemp.ReadString(_T("NewTer"),_T("ErrorInfo"),tempstr,m_szNewErrorInfo) == 0) { strncpy(m_szNewErrorInfo,_T("服务启动失败!"),sizeof(m_szNewErrorInfo)); } if(rwIniTemp.ReadString(_T("PubToCon"),_T("LocalIP"),tempstr,m_szPubToConLocalIP) == 0) { strncpy(m_szPubToConLocalIP,"",sizeof(m_szPubToConLocalIP)); } if(rwIniTemp.ReadString(_T("PubToCon"),_T("RemoteIP"),tempstr,m_szPubToConRemoteIP) == 0) { strncpy(m_szPubToConRemoteIP,"",sizeof(m_szPubToConRemoteIP)); } if(0 == (m_nPubToConPort = rwIniTemp.GetInt(_T("PubToCon"),_T("RemotePort"),tempstr))) { m_nPubToConPort = 9003; } if(rwIniTemp.ReadString(_T("PubToCon"),_T("StartInfo"),tempstr,m_szPubToConStartInfo) == 0) { strncpy(m_szPubToConStartInfo,_T("服务启动成功!"),sizeof(m_szPubToConStartInfo)); } if(rwIniTemp.ReadString(_T("PubToCon"),_T("ErrorInfo"),tempstr,m_szPubToConErrorInfo) == 0) { strncpy(m_szPubToConErrorInfo,_T("服务启动失败!"),sizeof(m_szPubToConErrorInfo)); } if(0 == (m_nPubToConLocalPort = rwIniTemp.GetInt(_T("PubToCon"),_T("LocalPort"),tempstr))) { m_nPubToConLocalPort = 9004; } if(0 == (m_Udp = rwIniTemp.GetInt(_T("PubToCon"),_T("UDP"),tempstr))) { m_Udp = 0; } return TRUE; }
//读取系统配置数据 BOOL CGPSProc::LoadSystemConfig() { Crwini rwIniTemp; CString tempstr =_T("pGisPubNetCfg.ini"); if(!rwIniTemp.CheckIniFile(tempstr)) { gWriteLogApp.WriteLog(FOR_ALARM,"%s [SYS] 系统启动失败,找不到配置文件\n",CTime::GetCurrentTime().Format("%H:%M:%S")); return FALSE; } //当GPRS连接登录后GPS开启模式 m_nOpenGpsModel = rwIniTemp.GetInt(_T("SystemSet"),_T("OpenGpsModel"),tempstr); if(m_nOpenGpsModel > 0 ) { //默认设置GPS主动上传时间间隔 m_nInitFixGpsDt = rwIniTemp.GetInt(_T("SystemSet"),_T("DefaultFixGpsDt"),tempstr); if(m_nInitFixGpsDt <= 0) { m_nOpenGpsModel = 0; } else { if(m_nInitFixGpsDt >= 60) { m_nOpenGpsModel = 1; } else { if(m_nInitFixGpsDt < 5) //不能低于5s { m_nInitFixGpsDt = 5; } m_nOpenGpsModel = 2; } } //GSP次数 m_nMonitorGPSCount = rwIniTemp.GetInt(_T("SystemSet"),_T("MonitorGPSCount"),tempstr); if(m_nMonitorGPSCount <= 0) { m_nMonitorGPSCount = 0; } } m_nPubNetServerPort = rwIniTemp.GetInt(_T("TCPSet"),_T("PubNetServerPort"),tempstr); if(m_nPubNetServerPort == 0) { m_nPubNetServerPort = 5002; } if(rwIniTemp.ReadString(_T("TCPSet"),_T("PubNetServerIP"),tempstr,m_LocalIpAddress) == 0) { //return FALSE; } m_nLoginTimeOut = rwIniTemp.GetInt(_T("SystemSet"),_T("LoginTimeOut"),tempstr); m_nConnTickTimeOut = rwIniTemp.GetInt(_T("SystemSet"),_T("ConnTickTimeOut"),tempstr); m_bDispatchZeroGPS = FALSE; if(rwIniTemp.GetInt(_T("SystemSet"),_T("DispatchZeroGPS"),tempstr) > 0) { m_bDispatchZeroGPS = TRUE; } //读取内外码转换参数 m_nL = rwIniTemp.GetInt(_T("SetCpsx"),_T("L"),tempstr); m_nM = rwIniTemp.GetInt(_T("SetCpsx"),_T("M"),tempstr); m_nS = rwIniTemp.GetInt(_T("SetCpsx"),_T("S"),tempstr); //消息重发超时 m_nReSendWaitAckTimeOut = rwIniTemp.GetInt(_T("SystemSet"),_T("ReSendWaitAckTimeOut"),tempstr); //发生文字消息时间间隔 g_nSendTxtMsgInterval = rwIniTemp.GetInt(_T("SystemSet"),_T("SendTxtMsgInterval"),tempstr); if(g_nSendTxtMsgInterval <= 0 ) { g_nSendTxtMsgInterval = 1; } return TRUE; }
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) { int nRetCode = 0; // initialize MFC and print and error on failure if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) { // TODO: change error code to suit your needs cerr << _T("Fatal Error: MFC initialization failed") << endl; nRetCode = 1; } else { // TODO: code your application's behavior here. CString strHello; strHello.LoadString(IDS_HELLO); } #ifdef __SERVICE_MODE_ CWinServiceModule MyWinService; CString tempstr =_T("pGisMainCtrlCfg.ini"); Crwini rwIniTemp; if(!rwIniTemp.CheckIniFile(tempstr)) { //MessageBox(NULL, _T("系统启动失败_1,找不到配置文件"), "提示", MB_OK); //gWriteLogApp.WriteLog(FOR_ALARM,"%s [SYS] 系统启动失败_1,找不到配置文件\n",CTime::GetCurrentTime().Format("%H:%M:%S")); //Sleep(100); return FALSE; } char m_strTempName[512] ={0}; if(rwIniTemp.ReadString(_T("SystemSet"),_T("ServerName"),tempstr,m_strTempName) == 0) { sprintf(m_strTempName,"HT_GisMainCtrlServer"); } MyWinService.SetServiceName(m_strTempName); if(!MyWinService.ParseStandardArgs(argv[1])) { //如果服务没有安装 则安装之 if(!MyWinService.IsInstalled()) { MyWinService.Install(); return nRetCode; } MyWinService.StartService(); } #else //WideCharToMultiByte(); //MultiByteToWideChar() _beginthread(CheckKey,0,NULL); Sleep(50); SetTimer(NULL,0,1000,0L); gPGisMainCtrlProc.Start(); MSG msg; while(GetMessage(&msg, NULL, 0, 0)) { switch(msg.message) { //定时器处理 case WM_TIMER: if(g_bQuit) { gPGisMainCtrlProc.Stop(); Sleep(100); PostMessage(NULL,WM_QUIT,0,0); } break; default: TranslateMessage(&msg); DispatchMessage(&msg); break; } } #endif return nRetCode; }