@@ -1,5 +1,7 @@ | |||||
# Prerequisites | # Prerequisites | ||||
*.d | *.d | ||||
log/ | |||||
*.log | |||||
# Compiled Object files | # Compiled Object files | ||||
*.slo | *.slo | ||||
@@ -56,9 +58,6 @@ | |||||
!Collocate.exe | !Collocate.exe | ||||
!MFC71u.dll | !MFC71u.dll | ||||
!ServiceCore.dll | !ServiceCore.dll | ||||
<<<<<<< HEAD | |||||
======= | |||||
!msvcr71.dll | !msvcr71.dll | ||||
>>>>>>> 1b9a6492e149c130c81ecbd3e285fc6d429feeca | |||||
.vs | .vs |
@@ -1,3 +1,3 @@ | |||||
[Server] | [Server] | ||||
ServerID=2 | |||||
ServerID=1000 | |||||
Level=1 | Level=1 |
@@ -6,7 +6,7 @@ | |||||
#include "Stdafx.h" | #include "Stdafx.h" | ||||
#include "InitParameter.h" | #include "InitParameter.h" | ||||
#include "GlobalInfoManager.h" | #include "GlobalInfoManager.h" | ||||
#include "RedisHead.h" | |||||
////////////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////////////// | ||||
//数据定义 | //数据定义 | ||||
@@ -62,6 +62,7 @@ public: | |||||
protected: | protected: | ||||
ITimerEngine * m_pITimerEngine; //时间引擎 | ITimerEngine * m_pITimerEngine; //时间引擎 | ||||
ITCPNetworkEngine * m_pITCPNetworkEngine; //网络引擎 | ITCPNetworkEngine * m_pITCPNetworkEngine; //网络引擎 | ||||
std::shared_ptr<RedisBase> m_RedisClient;//redis | |||||
//函数定义 | //函数定义 | ||||
public: | public: | ||||
@@ -93,6 +93,7 @@ | |||||
<SDLCheck>false</SDLCheck> | <SDLCheck>false</SDLCheck> | ||||
<BrowseInformation>true</BrowseInformation> | <BrowseInformation>true</BrowseInformation> | ||||
<AdditionalOptions>/D _CRT_SECURE_NO_WARNINGS %(AdditionalOptions)</AdditionalOptions> | <AdditionalOptions>/D _CRT_SECURE_NO_WARNINGS %(AdditionalOptions)</AdditionalOptions> | ||||
<AdditionalIncludeDirectories>$(SolutionDir)Source\ServerControl\CppRedis\includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | |||||
</ClCompile> | </ClCompile> | ||||
<Link> | <Link> | ||||
<SubSystem>Windows</SubSystem> | <SubSystem>Windows</SubSystem> | ||||
@@ -125,7 +126,7 @@ copy /y $(OutDir)$(TargetFileName) ..\..\..\Publish\Server\$(Configuration)\$(Ta | |||||
<Text Include="ReadMe.txt" /> | <Text Include="ReadMe.txt" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ClInclude Include="..\KernelEngine\RedisHead.h" /> | |||||
<ClInclude Include="..\CppRedis\includes\RedisHead.h" /> | |||||
<ClInclude Include="AttemperEngineSink.h" /> | <ClInclude Include="AttemperEngineSink.h" /> | ||||
<ClInclude Include="ControlPacket.h" /> | <ClInclude Include="ControlPacket.h" /> | ||||
<ClInclude Include="CorrespondServer.h" /> | <ClInclude Include="CorrespondServer.h" /> | ||||
@@ -140,7 +141,7 @@ copy /y $(OutDir)$(TargetFileName) ..\..\..\Publish\Server\$(Configuration)\$(Ta | |||||
<ClInclude Include="targetver.h" /> | <ClInclude Include="targetver.h" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ClCompile Include="..\KernelEngine\RedisHead.cpp" /> | |||||
<ClCompile Include="..\CppRedis\includes\RedisHead.cpp" /> | |||||
<ClCompile Include="AttemperEngineSink.cpp" /> | <ClCompile Include="AttemperEngineSink.cpp" /> | ||||
<ClCompile Include="CorrespondServer.cpp" /> | <ClCompile Include="CorrespondServer.cpp" /> | ||||
<ClCompile Include="CorrespondServerDlg.cpp" /> | <ClCompile Include="CorrespondServerDlg.cpp" /> | ||||
@@ -54,7 +54,7 @@ | |||||
<ClInclude Include="StatisticalUser.h"> | <ClInclude Include="StatisticalUser.h"> | ||||
<Filter>头文件</Filter> | <Filter>头文件</Filter> | ||||
</ClInclude> | </ClInclude> | ||||
<ClInclude Include="..\KernelEngine\RedisHead.h"> | |||||
<ClInclude Include="..\CppRedis\includes\RedisHead.h"> | |||||
<Filter>头文件</Filter> | <Filter>头文件</Filter> | ||||
</ClInclude> | </ClInclude> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -86,7 +86,7 @@ | |||||
<ClCompile Include="StatisticalUser.cpp"> | <ClCompile Include="StatisticalUser.cpp"> | ||||
<Filter>源文件</Filter> | <Filter>源文件</Filter> | ||||
</ClCompile> | </ClCompile> | ||||
<ClCompile Include="..\KernelEngine\RedisHead.cpp"> | |||||
<ClCompile Include="..\CppRedis\includes\RedisHead.cpp"> | |||||
<Filter>源文件</Filter> | <Filter>源文件</Filter> | ||||
</ClCompile> | </ClCompile> | ||||
</ItemGroup> | </ItemGroup> | ||||
@@ -62,7 +62,7 @@ bool CServiceUnits::ConcludeService() | |||||
if (m_TimerEngine.GetInterface() != NULL) m_TimerEngine->ConcludeService(); | if (m_TimerEngine.GetInterface() != NULL) m_TimerEngine->ConcludeService(); | ||||
if (m_AttemperEngine.GetInterface() != NULL) m_AttemperEngine->ConcludeService(); | if (m_AttemperEngine.GetInterface() != NULL) m_AttemperEngine->ConcludeService(); | ||||
if (m_TCPNetworkEngine.GetInterface() != NULL) m_TCPNetworkEngine->ConcludeService(); | if (m_TCPNetworkEngine.GetInterface() != NULL) m_TCPNetworkEngine->ConcludeService(); | ||||
m_RedisClient->DisConnect(); | |||||
return true; | return true; | ||||
} | } | ||||
@@ -114,9 +114,7 @@ bool CServiceUnits::InitializeService() | |||||
//Á¬½Óredis | //Á¬½Óredis | ||||
m_RedisClient = std::make_shared<RedisBase>(); | m_RedisClient = std::make_shared<RedisBase>(); | ||||
m_RedisClient->Connect(m_InitParameter.m_RedisHost, m_InitParameter.m_RedisPort, m_InitParameter.m_RedisDb, m_InitParameter.m_RedisTimeOut, m_InitParameter.m_RedisMaxReconnect, m_InitParameter.m_RedisReconnectInterval); | m_RedisClient->Connect(m_InitParameter.m_RedisHost, m_InitParameter.m_RedisPort, m_InitParameter.m_RedisDb, m_InitParameter.m_RedisTimeOut, m_InitParameter.m_RedisMaxReconnect, m_InitParameter.m_RedisReconnectInterval); | ||||
auto tmp = m_RedisClient->GetRedisClient(); | |||||
tmp->set("name", "test_name"); | |||||
tmp->sync_commit(); | |||||
m_AttemperEngineSink.m_RedisClient = m_RedisClient; | |||||
return true; | return true; | ||||
} | } | ||||
@@ -6,7 +6,7 @@ | |||||
#include "Stdafx.h" | #include "Stdafx.h" | ||||
#include "InitParameter.h" | #include "InitParameter.h" | ||||
#include "AttemperEngineSink.h" | #include "AttemperEngineSink.h" | ||||
#include "../KernelEngine/RedisHead.h" | |||||
#include "RedisHead.h" | |||||
////////////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////////////// | ||||
//ö¾Ù¶¨Òå | //ö¾Ù¶¨Òå | ||||
@@ -21,9 +21,14 @@ bool RedisBase::Connect(const std::string& host /*= "127.0.0.1"*/, std::size_t p | |||||
} | } | ||||
}, timeout_ms, max_reconnects, reconnect_interval_ms); | }, timeout_ms, max_reconnects, reconnect_interval_ms); | ||||
m_redisclient->select(db); | m_redisclient->select(db); | ||||
m_redisclient->disconnect(true); | |||||
return true; | return true; | ||||
} | } | ||||
void RedisBase::DisConnect(bool wait_for_removal/*= false*/ ){ | |||||
m_redisclient->disconnect(wait_for_removal); | |||||
} | |||||
std::shared_ptr<cpp_redis::client> RedisBase::GetRedisClient() | std::shared_ptr<cpp_redis::client> RedisBase::GetRedisClient() | ||||
{ | { | ||||
return m_redisclient; | return m_redisclient; |
@@ -25,6 +25,9 @@ public: | |||||
//连接redis | //连接redis | ||||
bool Connect(const std::string& host = "127.0.0.1", std::size_t port = 6379, std::uint32_t db = 0, std::uint32_t timeout_ms = 0, std::int32_t max_reconnects = 0, std::uint32_t reconnect_interval_ms = 0); | bool Connect(const std::string& host = "127.0.0.1", std::size_t port = 6379, std::uint32_t db = 0, std::uint32_t timeout_ms = 0, std::int32_t max_reconnects = 0, std::uint32_t reconnect_interval_ms = 0); | ||||
//断开和redis的连接 | |||||
void DisConnect(bool wait_for_removal= false); | |||||
std::shared_ptr<cpp_redis::client> GetRedisClient(); | std::shared_ptr<cpp_redis::client> GetRedisClient(); | ||||
protected: | protected: |
@@ -12,6 +12,7 @@ | |||||
#include "SensitiveWordsFilter.h" | #include "SensitiveWordsFilter.h" | ||||
#include <unordered_map> | #include <unordered_map> | ||||
#include <memory> | #include <memory> | ||||
#include "RedisHead.h" | |||||
////////////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////////////// | ||||
@@ -135,6 +136,7 @@ protected: | |||||
ITCPSocketService * m_pITCPSocketService; //网络服务 | ITCPSocketService * m_pITCPSocketService; //网络服务 | ||||
ITCPNetworkEngine * m_pITCPNetworkEngine; //网络引擎 | ITCPNetworkEngine * m_pITCPNetworkEngine; //网络引擎 | ||||
IGameServiceManager * m_pIGameServiceManager; //服务管理 | IGameServiceManager * m_pIGameServiceManager; //服务管理 | ||||
std::shared_ptr<RedisBase> m_RedisClient;//redis | |||||
//比赛服务 | //比赛服务 | ||||
public: | public: | ||||
@@ -62,7 +62,7 @@ | |||||
<SDLCheck>false</SDLCheck> | <SDLCheck>false</SDLCheck> | ||||
<AdditionalOptions>/D _CRT_SECURE_NO_WARNINGS %(AdditionalOptions)</AdditionalOptions> | <AdditionalOptions>/D _CRT_SECURE_NO_WARNINGS %(AdditionalOptions)</AdditionalOptions> | ||||
<DisableSpecificWarnings>4018;4996;4244;4200</DisableSpecificWarnings> | <DisableSpecificWarnings>4018;4996;4244;4200</DisableSpecificWarnings> | ||||
<AdditionalIncludeDirectories>$(SolutionDir)Source\Protobuf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | |||||
<AdditionalIncludeDirectories>$(SolutionDir)Source\Protobuf;$(SolutionDir)Source\ServerControl\CppRedis\includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | |||||
</ClCompile> | </ClCompile> | ||||
<Link> | <Link> | ||||
<SubSystem>Windows</SubSystem> | <SubSystem>Windows</SubSystem> | ||||
@@ -96,7 +96,7 @@ | |||||
<SDLCheck>false</SDLCheck> | <SDLCheck>false</SDLCheck> | ||||
<BrowseInformation>true</BrowseInformation> | <BrowseInformation>true</BrowseInformation> | ||||
<AdditionalOptions>/D _CRT_SECURE_NO_WARNINGS %(AdditionalOptions)</AdditionalOptions> | <AdditionalOptions>/D _CRT_SECURE_NO_WARNINGS %(AdditionalOptions)</AdditionalOptions> | ||||
<AdditionalIncludeDirectories>$(SolutionDir)Source\Protobuf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | |||||
<AdditionalIncludeDirectories>$(SolutionDir)Source\Protobuf;$(SolutionDir)Source\ServerControl\CppRedis\includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | |||||
</ClCompile> | </ClCompile> | ||||
<Link> | <Link> | ||||
<SubSystem>Windows</SubSystem> | <SubSystem>Windows</SubSystem> | ||||
@@ -135,6 +135,7 @@ copy /y $(OutDir)$(TargetFileName) ..\..\..\Publish\Server\$(Configuration)\$(Ta | |||||
<ClInclude Include="..\..\MessageDef\Pb_RecordPacket.pb.h" /> | <ClInclude Include="..\..\MessageDef\Pb_RecordPacket.pb.h" /> | ||||
<ClInclude Include="..\..\MessageDef\Pb_TurntableLogon.pb.h" /> | <ClInclude Include="..\..\MessageDef\Pb_TurntableLogon.pb.h" /> | ||||
<ClInclude Include="..\..\MessageDef\Pb_UserInfo.pb.h" /> | <ClInclude Include="..\..\MessageDef\Pb_UserInfo.pb.h" /> | ||||
<ClInclude Include="..\CppRedis\includes\RedisHead.h" /> | |||||
<ClInclude Include="AttemperEngineSink.h" /> | <ClInclude Include="AttemperEngineSink.h" /> | ||||
<ClInclude Include="BaiDuMap.h" /> | <ClInclude Include="BaiDuMap.h" /> | ||||
<ClInclude Include="ChineseCode.h" /> | <ClInclude Include="ChineseCode.h" /> | ||||
@@ -169,6 +170,7 @@ copy /y $(OutDir)$(TargetFileName) ..\..\..\Publish\Server\$(Configuration)\$(Ta | |||||
<ClCompile Include="..\..\MessageDef\Pb_RecordPacket.pb.cc" /> | <ClCompile Include="..\..\MessageDef\Pb_RecordPacket.pb.cc" /> | ||||
<ClCompile Include="..\..\MessageDef\Pb_TurntableLogon.pb.cc" /> | <ClCompile Include="..\..\MessageDef\Pb_TurntableLogon.pb.cc" /> | ||||
<ClCompile Include="..\..\MessageDef\Pb_UserInfo.pb.cc" /> | <ClCompile Include="..\..\MessageDef\Pb_UserInfo.pb.cc" /> | ||||
<ClCompile Include="..\CppRedis\includes\RedisHead.cpp" /> | |||||
<ClCompile Include="AttemperEngineSink.cpp" /> | <ClCompile Include="AttemperEngineSink.cpp" /> | ||||
<ClCompile Include="BaiDuMap.cpp" /> | <ClCompile Include="BaiDuMap.cpp" /> | ||||
<ClCompile Include="ChineseCode.cpp" /> | <ClCompile Include="ChineseCode.cpp" /> | ||||
@@ -120,6 +120,9 @@ | |||||
<ClInclude Include="..\..\MessageDef\Pb_RecordPacket.pb.h"> | <ClInclude Include="..\..\MessageDef\Pb_RecordPacket.pb.h"> | ||||
<Filter>proto</Filter> | <Filter>proto</Filter> | ||||
</ClInclude> | </ClInclude> | ||||
<ClInclude Include="..\CppRedis\includes\RedisHead.h"> | |||||
<Filter>头文件</Filter> | |||||
</ClInclude> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ClCompile Include="GameServer.cpp"> | <ClCompile Include="GameServer.cpp"> | ||||
@@ -209,6 +212,9 @@ | |||||
<ClCompile Include="..\..\MessageDef\Pb_RecordPacket.pb.cc"> | <ClCompile Include="..\..\MessageDef\Pb_RecordPacket.pb.cc"> | ||||
<Filter>proto</Filter> | <Filter>proto</Filter> | ||||
</ClCompile> | </ClCompile> | ||||
<ClCompile Include="..\CppRedis\includes\RedisHead.cpp"> | |||||
<Filter>源文件</Filter> | |||||
</ClCompile> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ResourceCompile Include="GameServer.rc"> | <ResourceCompile Include="GameServer.rc"> | ||||
@@ -87,6 +87,17 @@ VOID CInitParameter::LoadInitParameter() | |||||
IniData.ReadEncryptString(TEXT("PlatformDB"), TEXT("DBName"), szPlatformDB, m_PlatformDBParameter.szDataBaseName, CountArray(m_PlatformDBParameter.szDataBaseName)); | IniData.ReadEncryptString(TEXT("PlatformDB"), TEXT("DBName"), szPlatformDB, m_PlatformDBParameter.szDataBaseName, CountArray(m_PlatformDBParameter.szDataBaseName)); | ||||
CTraceService::TraceString(m_PlatformDBParameter.szDataBasePass, TraceLevel_Normal); | 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; | return; | ||||
} | } | ||||
@@ -10,6 +10,15 @@ | |||||
//配置参数 | //配置参数 | ||||
class CInitParameter | class CInitParameter | ||||
{ | { | ||||
//redis配置 | |||||
public: | |||||
std::string m_RedisHost;//主机地址 | |||||
WORD m_RedisDb;//数据库索引 | |||||
WORD m_RedisPort;//端口 | |||||
std::uint32_t m_RedisTimeOut;//重连超时时间(ms) | |||||
std::int32_t m_RedisMaxReconnect;//最大重连次数 | |||||
std::uint32_t m_RedisReconnectInterval; //重连间隔(ms) | |||||
//配置信息 | //配置信息 | ||||
public: | public: | ||||
WORD m_wConnectTime; //重连时间 | WORD m_wConnectTime; //重连时间 | ||||
@@ -348,6 +348,10 @@ bool CServiceUnits::InitializeService() | |||||
//ÅäÖÃÍøÂç | //ÅäÖÃÍøÂç | ||||
m_TCPNetworkEngine->SetServiceParameter(m_GameServiceOption.wServerPort, m_GameServiceOption.wMaxPlayer, szCompilation); | m_TCPNetworkEngine->SetServiceParameter(m_GameServiceOption.wServerPort, m_GameServiceOption.wMaxPlayer, szCompilation); | ||||
//Á¬½Óredis | |||||
m_RedisClient = std::make_shared<RedisBase>(); | |||||
m_RedisClient->Connect(m_InitParameter.m_RedisHost, m_InitParameter.m_RedisPort, m_InitParameter.m_RedisDb, m_InitParameter.m_RedisTimeOut, m_InitParameter.m_RedisMaxReconnect, m_InitParameter.m_RedisReconnectInterval); | |||||
m_AttemperEngineSink.m_RedisClient = m_RedisClient; | |||||
return true; | return true; | ||||
} | } | ||||
@@ -8,6 +8,7 @@ | |||||
#include "AttemperEngineSink.h" | #include "AttemperEngineSink.h" | ||||
#include "DataBaseEngineSink.h" | #include "DataBaseEngineSink.h" | ||||
#include "DBCorrespondManager.h" | #include "DBCorrespondManager.h" | ||||
#include "RedisHead.h" | |||||
////////////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////////////// | ||||
@@ -88,6 +89,7 @@ public: | |||||
CTCPSocketServiceHelper m_TCPSocketService; //网络服务 | CTCPSocketServiceHelper m_TCPSocketService; //网络服务 | ||||
CGameServiceManagerHelper m_GameServiceManager; //游戏模块 | CGameServiceManagerHelper m_GameServiceManager; //游戏模块 | ||||
CMatchServiceManagerHelper m_MatchServiceManager; //比赛管理 | CMatchServiceManagerHelper m_MatchServiceManager; //比赛管理 | ||||
std::shared_ptr<RedisBase> m_RedisClient;//redis | |||||
//接口变量 | //接口变量 | ||||
protected: | protected: | ||||
@@ -6,6 +6,7 @@ | |||||
#include "Stdafx.h" | #include "Stdafx.h" | ||||
#include "InitParameter.h" | #include "InitParameter.h" | ||||
#include "ServerListManager.h" | #include "ServerListManager.h" | ||||
#include "RedisHead.h" | |||||
////////////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////////////// | ||||
//数据定义 | //数据定义 | ||||
@@ -95,6 +96,7 @@ public: | |||||
IDataBaseEngine * m_pIDataBaseEngine; //数据引擎 | IDataBaseEngine * m_pIDataBaseEngine; //数据引擎 | ||||
ITCPNetworkEngine * m_pITCPNetworkEngine; //网络引擎 | ITCPNetworkEngine * m_pITCPNetworkEngine; //网络引擎 | ||||
ITCPSocketService * m_pITCPSocketService; //协调服务 | ITCPSocketService * m_pITCPSocketService; //协调服务 | ||||
std::shared_ptr<RedisBase> m_RedisClient;//redis | |||||
//视频配置 | //视频配置 | ||||
protected: | protected: | ||||
@@ -121,6 +121,18 @@ VOID CInitParameter::LoadInitParameter() | |||||
TCHAR szHttpName2[32] = TEXT("PATH2"); | TCHAR szHttpName2[32] = TEXT("PATH2"); | ||||
IniData.ReadString(TEXT("HTTP2"), TEXT("PATH2"), szHttpName2, m_HttpPath, CountArray(m_HttpPath)); | IniData.ReadString(TEXT("HTTP2"), TEXT("PATH2"), szHttpName2, m_HttpPath, CountArray(m_HttpPath)); | ||||
//IniData.ReadEncryptString(szHttpName1, TEXT("PATH"), szHttpName2, m_HttpPath, CountArray(m_HttpPath)); | //IniData.ReadEncryptString(szHttpName1, TEXT("PATH"), szHttpName2, m_HttpPath, CountArray(m_HttpPath)); | ||||
//¶ÁÈ¡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; | return; | ||||
} | } | ||||
@@ -10,6 +10,15 @@ | |||||
//配置参数 | //配置参数 | ||||
class CInitParameter | class CInitParameter | ||||
{ | { | ||||
//redis配置 | |||||
public: | |||||
std::string m_RedisHost;//主机地址 | |||||
WORD m_RedisDb;//数据库索引 | |||||
WORD m_RedisPort;//端口 | |||||
std::uint32_t m_RedisTimeOut;//重连超时时间(ms) | |||||
std::int32_t m_RedisMaxReconnect;//最大重连次数 | |||||
std::uint32_t m_RedisReconnectInterval; //重连间隔(ms) | |||||
public: | public: | ||||
WORD m_wServerID; //登录服务器ID | WORD m_wServerID; //登录服务器ID | ||||
//系统配置 | //系统配置 | ||||
@@ -60,7 +60,7 @@ | |||||
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;_UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | <PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;_UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions> | ||||
<SDLCheck>false</SDLCheck> | <SDLCheck>false</SDLCheck> | ||||
<AdditionalOptions>/D _CRT_SECURE_NO_WARNINGS %(AdditionalOptions)</AdditionalOptions> | <AdditionalOptions>/D _CRT_SECURE_NO_WARNINGS %(AdditionalOptions)</AdditionalOptions> | ||||
<AdditionalIncludeDirectories>$(SolutionDir)Source\Protobuf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | |||||
<AdditionalIncludeDirectories>$(SolutionDir)Source\Protobuf;$(SolutionDir)Source\ServerControl\CppRedis\includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | |||||
</ClCompile> | </ClCompile> | ||||
<Link> | <Link> | ||||
<SubSystem>Windows</SubSystem> | <SubSystem>Windows</SubSystem> | ||||
@@ -94,7 +94,7 @@ | |||||
<SDLCheck>false</SDLCheck> | <SDLCheck>false</SDLCheck> | ||||
<BrowseInformation>true</BrowseInformation> | <BrowseInformation>true</BrowseInformation> | ||||
<AdditionalOptions>/D _CRT_SECURE_NO_WARNINGS %(AdditionalOptions)</AdditionalOptions> | <AdditionalOptions>/D _CRT_SECURE_NO_WARNINGS %(AdditionalOptions)</AdditionalOptions> | ||||
<AdditionalIncludeDirectories>$(SolutionDir)Source\Protobuf;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | |||||
<AdditionalIncludeDirectories>$(SolutionDir)Source\Protobuf;$(SolutionDir)Source\ServerControl\CppRedis\includes;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> | |||||
</ClCompile> | </ClCompile> | ||||
<Link> | <Link> | ||||
<SubSystem>Windows</SubSystem> | <SubSystem>Windows</SubSystem> | ||||
@@ -129,6 +129,7 @@ copy /y $(OutDir)$(TargetFileName) ..\..\..\Publish\Server\$(Configuration)\$(Ta | |||||
<ItemGroup> | <ItemGroup> | ||||
<ClInclude Include="..\..\MessageDef\CMD_LogonServer.h" /> | <ClInclude Include="..\..\MessageDef\CMD_LogonServer.h" /> | ||||
<ClInclude Include="..\..\MessageDef\Pb_LogonServer.pb.h" /> | <ClInclude Include="..\..\MessageDef\Pb_LogonServer.pb.h" /> | ||||
<ClInclude Include="..\CppRedis\includes\RedisHead.h" /> | |||||
<ClInclude Include="AttemperEngineSink.h" /> | <ClInclude Include="AttemperEngineSink.h" /> | ||||
<ClInclude Include="BaiDuMap.h" /> | <ClInclude Include="BaiDuMap.h" /> | ||||
<ClInclude Include="ChineseCode.h" /> | <ClInclude Include="ChineseCode.h" /> | ||||
@@ -149,6 +150,7 @@ copy /y $(OutDir)$(TargetFileName) ..\..\..\Publish\Server\$(Configuration)\$(Ta | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ClCompile Include="..\..\MessageDef\Pb_LogonServer.pb.cc" /> | <ClCompile Include="..\..\MessageDef\Pb_LogonServer.pb.cc" /> | ||||
<ClCompile Include="..\CppRedis\includes\RedisHead.cpp" /> | |||||
<ClCompile Include="AttemperEngineSink.cpp" /> | <ClCompile Include="AttemperEngineSink.cpp" /> | ||||
<ClCompile Include="BaiDuMap.cpp" /> | <ClCompile Include="BaiDuMap.cpp" /> | ||||
<ClCompile Include="ChineseCode.cpp" /> | <ClCompile Include="ChineseCode.cpp" /> | ||||
@@ -78,6 +78,9 @@ | |||||
<ClInclude Include="..\..\MessageDef\CMD_LogonServer.h"> | <ClInclude Include="..\..\MessageDef\CMD_LogonServer.h"> | ||||
<Filter>头文件</Filter> | <Filter>头文件</Filter> | ||||
</ClInclude> | </ClInclude> | ||||
<ClInclude Include="..\CppRedis\includes\RedisHead.h"> | |||||
<Filter>头文件</Filter> | |||||
</ClInclude> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ClCompile Include="LogonServer.cpp"> | <ClCompile Include="LogonServer.cpp"> | ||||
@@ -122,6 +125,9 @@ | |||||
<ClCompile Include="..\..\MessageDef\Pb_LogonServer.pb.cc"> | <ClCompile Include="..\..\MessageDef\Pb_LogonServer.pb.cc"> | ||||
<Filter>proto</Filter> | <Filter>proto</Filter> | ||||
</ClCompile> | </ClCompile> | ||||
<ClCompile Include="..\CppRedis\includes\RedisHead.cpp"> | |||||
<Filter>源文件</Filter> | |||||
</ClCompile> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ResourceCompile Include="LogonServer.rc"> | <ResourceCompile Include="LogonServer.rc"> | ||||
@@ -92,6 +92,8 @@ bool CServiceUnits::ConcludeService() | |||||
if (m_TCPSocketService.GetInterface() != NULL) m_TCPSocketService->ConcludeService(); | if (m_TCPSocketService.GetInterface() != NULL) m_TCPSocketService->ConcludeService(); | ||||
//c++中使用google protobuf在关闭应用程序之前需要调用google::protobuf::ShutdownProtobufLibrary();要不然会有内存泄露 | //c++中使用google protobuf在关闭应用程序之前需要调用google::protobuf::ShutdownProtobufLibrary();要不然会有内存泄露 | ||||
google::protobuf::ShutdownProtobufLibrary(); | google::protobuf::ShutdownProtobufLibrary(); | ||||
m_RedisClient->DisConnect(); | |||||
return true; | return true; | ||||
} | } | ||||
@@ -173,6 +175,10 @@ bool CServiceUnits::InitializeService() | |||||
WORD wServicePort = m_InitParameter.m_wServicePort; | WORD wServicePort = m_InitParameter.m_wServicePort; | ||||
if (m_TCPNetworkEngine->SetServiceParameter(wServicePort, wMaxConnect, szCompilation) == false) return false; | if (m_TCPNetworkEngine->SetServiceParameter(wServicePort, wMaxConnect, szCompilation) == false) return false; | ||||
//连接redis | |||||
m_RedisClient = std::make_shared<RedisBase>(); | |||||
m_RedisClient->Connect(m_InitParameter.m_RedisHost, m_InitParameter.m_RedisPort, m_InitParameter.m_RedisDb, m_InitParameter.m_RedisTimeOut, m_InitParameter.m_RedisMaxReconnect, m_InitParameter.m_RedisReconnectInterval); | |||||
m_AttemperEngineSink.m_RedisClient = m_RedisClient; | |||||
return true; | return true; | ||||
} | } | ||||
@@ -7,6 +7,7 @@ | |||||
#include "InitParameter.h" | #include "InitParameter.h" | ||||
#include "AttemperEngineSink.h" | #include "AttemperEngineSink.h" | ||||
#include "DataBaseEngineSink.h" | #include "DataBaseEngineSink.h" | ||||
#include "RedisHead.h" | |||||
////////////////////////////////////////////////////////////////////////////////// | ////////////////////////////////////////////////////////////////////////////////// | ||||
@@ -72,6 +73,7 @@ protected: | |||||
CDataBaseEngineHelper m_DataBaseEngine; //数据引擎 | CDataBaseEngineHelper m_DataBaseEngine; //数据引擎 | ||||
CTCPNetworkEngineHelper m_TCPNetworkEngine; //网络引擎 | CTCPNetworkEngineHelper m_TCPNetworkEngine; //网络引擎 | ||||
CTCPSocketServiceHelper m_TCPSocketService; //协调服务 | CTCPSocketServiceHelper m_TCPSocketService; //协调服务 | ||||
std::shared_ptr<RedisBase> m_RedisClient;//redis | |||||
//接口变量 | //接口变量 | ||||
protected: | protected: | ||||