diff --git a/.gitignore b/.gitignore index 13c0097..89938e8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ # Prerequisites *.d +log/ +*.log # Compiled Object files *.slo @@ -56,9 +58,6 @@ !Collocate.exe !MFC71u.dll !ServiceCore.dll -<<<<<<< HEAD -======= !msvcr71.dll ->>>>>>> 1b9a6492e149c130c81ecbd3e285fc6d429feeca .vs diff --git a/俱乐部/Bin/Debug_Unicode/Parameter.ini b/俱乐部/Bin/Debug_Unicode/Parameter.ini index 6c6eaf3..d625f6f 100644 --- a/俱乐部/Bin/Debug_Unicode/Parameter.ini +++ b/俱乐部/Bin/Debug_Unicode/Parameter.ini @@ -1,3 +1,3 @@ [Server] -ServerID=2 +ServerID=1000 Level=1 diff --git a/俱乐部/Source/ServerControl/CorrespondServer/AttemperEngineSink.h b/俱乐部/Source/ServerControl/CorrespondServer/AttemperEngineSink.h index 18da522..065484e 100644 --- a/俱乐部/Source/ServerControl/CorrespondServer/AttemperEngineSink.h +++ b/俱乐部/Source/ServerControl/CorrespondServer/AttemperEngineSink.h @@ -6,7 +6,7 @@ #include "Stdafx.h" #include "InitParameter.h" #include "GlobalInfoManager.h" - +#include "RedisHead.h" ////////////////////////////////////////////////////////////////////////////////// //ݶ @@ -62,6 +62,7 @@ public: protected: ITimerEngine * m_pITimerEngine; //ʱ ITCPNetworkEngine * m_pITCPNetworkEngine; // + std::shared_ptr m_RedisClient;//redis // public: diff --git a/俱乐部/Source/ServerControl/CorrespondServer/CorrespondServer.vcxproj b/俱乐部/Source/ServerControl/CorrespondServer/CorrespondServer.vcxproj index ddd5b4a..a297c6e 100644 --- a/俱乐部/Source/ServerControl/CorrespondServer/CorrespondServer.vcxproj +++ b/俱乐部/Source/ServerControl/CorrespondServer/CorrespondServer.vcxproj @@ -93,6 +93,7 @@ false true /D _CRT_SECURE_NO_WARNINGS %(AdditionalOptions) + $(SolutionDir)Source\ServerControl\CppRedis\includes;%(AdditionalIncludeDirectories) Windows @@ -125,7 +126,7 @@ copy /y $(OutDir)$(TargetFileName) ..\..\..\Publish\Server\$(Configuration)\$(Ta - + @@ -140,7 +141,7 @@ copy /y $(OutDir)$(TargetFileName) ..\..\..\Publish\Server\$(Configuration)\$(Ta - + diff --git a/俱乐部/Source/ServerControl/CorrespondServer/CorrespondServer.vcxproj.filters b/俱乐部/Source/ServerControl/CorrespondServer/CorrespondServer.vcxproj.filters index 8a8f2c5..a7759a9 100644 --- a/俱乐部/Source/ServerControl/CorrespondServer/CorrespondServer.vcxproj.filters +++ b/俱乐部/Source/ServerControl/CorrespondServer/CorrespondServer.vcxproj.filters @@ -54,7 +54,7 @@ 头文件 - + 头文件 @@ -86,7 +86,7 @@ 源文件 - + 源文件 diff --git a/俱乐部/Source/ServerControl/CorrespondServer/ServiceUnits.cpp b/俱乐部/Source/ServerControl/CorrespondServer/ServiceUnits.cpp index caeaead..10f8809 100644 --- a/俱乐部/Source/ServerControl/CorrespondServer/ServiceUnits.cpp +++ b/俱乐部/Source/ServerControl/CorrespondServer/ServiceUnits.cpp @@ -62,7 +62,7 @@ bool CServiceUnits::ConcludeService() if (m_TimerEngine.GetInterface() != NULL) m_TimerEngine->ConcludeService(); if (m_AttemperEngine.GetInterface() != NULL) m_AttemperEngine->ConcludeService(); if (m_TCPNetworkEngine.GetInterface() != NULL) m_TCPNetworkEngine->ConcludeService(); - + m_RedisClient->DisConnect(); return true; } @@ -114,9 +114,7 @@ bool CServiceUnits::InitializeService() //redis m_RedisClient = std::make_shared(); 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; } diff --git a/俱乐部/Source/ServerControl/CorrespondServer/ServiceUnits.h b/俱乐部/Source/ServerControl/CorrespondServer/ServiceUnits.h index 39f817b..e8707ef 100644 --- a/俱乐部/Source/ServerControl/CorrespondServer/ServiceUnits.h +++ b/俱乐部/Source/ServerControl/CorrespondServer/ServiceUnits.h @@ -6,7 +6,7 @@ #include "Stdafx.h" #include "InitParameter.h" #include "AttemperEngineSink.h" -#include "../KernelEngine/RedisHead.h" +#include "RedisHead.h" ////////////////////////////////////////////////////////////////////////////////// //öٶ diff --git a/俱乐部/Source/ServerControl/KernelEngine/RedisHead.cpp b/俱乐部/Source/ServerControl/CppRedis/includes/RedisHead.cpp similarity index 85% rename from 俱乐部/Source/ServerControl/KernelEngine/RedisHead.cpp rename to 俱乐部/Source/ServerControl/CppRedis/includes/RedisHead.cpp index cbf70d4..53437ee 100644 --- a/俱乐部/Source/ServerControl/KernelEngine/RedisHead.cpp +++ b/俱乐部/Source/ServerControl/CppRedis/includes/RedisHead.cpp @@ -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); m_redisclient->select(db); + m_redisclient->disconnect(true); return true; } +void RedisBase::DisConnect(bool wait_for_removal/*= false*/ ){ + m_redisclient->disconnect(wait_for_removal); +} + std::shared_ptr RedisBase::GetRedisClient() { return m_redisclient; diff --git a/俱乐部/Source/ServerControl/KernelEngine/RedisHead.h b/俱乐部/Source/ServerControl/CppRedis/includes/RedisHead.h similarity index 92% rename from 俱乐部/Source/ServerControl/KernelEngine/RedisHead.h rename to 俱乐部/Source/ServerControl/CppRedis/includes/RedisHead.h index 5a9a738..b2788f6 100644 --- a/俱乐部/Source/ServerControl/KernelEngine/RedisHead.h +++ b/俱乐部/Source/ServerControl/CppRedis/includes/RedisHead.h @@ -25,6 +25,9 @@ public: //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); + //Ͽredis + void DisConnect(bool wait_for_removal= false); + std::shared_ptr GetRedisClient(); protected: diff --git a/俱乐部/Source/ServerControl/GameServer/AttemperEngineSink.h b/俱乐部/Source/ServerControl/GameServer/AttemperEngineSink.h index c2ee093..0cd3f6b 100644 --- a/俱乐部/Source/ServerControl/GameServer/AttemperEngineSink.h +++ b/俱乐部/Source/ServerControl/GameServer/AttemperEngineSink.h @@ -12,6 +12,7 @@ #include "SensitiveWordsFilter.h" #include #include +#include "RedisHead.h" ////////////////////////////////////////////////////////////////////////////////// @@ -135,6 +136,7 @@ protected: ITCPSocketService * m_pITCPSocketService; // ITCPNetworkEngine * m_pITCPNetworkEngine; // IGameServiceManager * m_pIGameServiceManager; // + std::shared_ptr m_RedisClient;//redis // public: diff --git a/俱乐部/Source/ServerControl/GameServer/GameServer.vcxproj b/俱乐部/Source/ServerControl/GameServer/GameServer.vcxproj index 54dc575..4136823 100644 --- a/俱乐部/Source/ServerControl/GameServer/GameServer.vcxproj +++ b/俱乐部/Source/ServerControl/GameServer/GameServer.vcxproj @@ -62,7 +62,7 @@ false /D _CRT_SECURE_NO_WARNINGS %(AdditionalOptions) 4018;4996;4244;4200 - $(SolutionDir)Source\Protobuf;%(AdditionalIncludeDirectories) + $(SolutionDir)Source\Protobuf;$(SolutionDir)Source\ServerControl\CppRedis\includes;%(AdditionalIncludeDirectories) Windows @@ -96,7 +96,7 @@ false true /D _CRT_SECURE_NO_WARNINGS %(AdditionalOptions) - $(SolutionDir)Source\Protobuf;%(AdditionalIncludeDirectories) + $(SolutionDir)Source\Protobuf;$(SolutionDir)Source\ServerControl\CppRedis\includes;%(AdditionalIncludeDirectories) Windows @@ -135,6 +135,7 @@ copy /y $(OutDir)$(TargetFileName) ..\..\..\Publish\Server\$(Configuration)\$(Ta + @@ -169,6 +170,7 @@ copy /y $(OutDir)$(TargetFileName) ..\..\..\Publish\Server\$(Configuration)\$(Ta + diff --git a/俱乐部/Source/ServerControl/GameServer/GameServer.vcxproj.filters b/俱乐部/Source/ServerControl/GameServer/GameServer.vcxproj.filters index 25de01a..60f4c72 100644 --- a/俱乐部/Source/ServerControl/GameServer/GameServer.vcxproj.filters +++ b/俱乐部/Source/ServerControl/GameServer/GameServer.vcxproj.filters @@ -120,6 +120,9 @@ proto + + 头文件 + @@ -209,6 +212,9 @@ proto + + 源文件 + diff --git a/俱乐部/Source/ServerControl/GameServer/InitParameter.cpp b/俱乐部/Source/ServerControl/GameServer/InitParameter.cpp index c736754..6e7ca05 100644 --- a/俱乐部/Source/ServerControl/GameServer/InitParameter.cpp +++ b/俱乐部/Source/ServerControl/GameServer/InitParameter.cpp @@ -87,6 +87,17 @@ VOID CInitParameter::LoadInitParameter() 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; } diff --git a/俱乐部/Source/ServerControl/GameServer/InitParameter.h b/俱乐部/Source/ServerControl/GameServer/InitParameter.h index 2aeb503..615e277 100644 --- a/俱乐部/Source/ServerControl/GameServer/InitParameter.h +++ b/俱乐部/Source/ServerControl/GameServer/InitParameter.h @@ -10,6 +10,15 @@ //ò 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: WORD m_wConnectTime; //ʱ diff --git a/俱乐部/Source/ServerControl/GameServer/ServiceUnits.cpp b/俱乐部/Source/ServerControl/GameServer/ServiceUnits.cpp index aabbfbf..f1b96e8 100644 --- a/俱乐部/Source/ServerControl/GameServer/ServiceUnits.cpp +++ b/俱乐部/Source/ServerControl/GameServer/ServiceUnits.cpp @@ -348,6 +348,10 @@ bool CServiceUnits::InitializeService() // m_TCPNetworkEngine->SetServiceParameter(m_GameServiceOption.wServerPort, m_GameServiceOption.wMaxPlayer, szCompilation); + //redis + m_RedisClient = std::make_shared(); + 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; } diff --git a/俱乐部/Source/ServerControl/GameServer/ServiceUnits.h b/俱乐部/Source/ServerControl/GameServer/ServiceUnits.h index dd43d89..abd3fb3 100644 --- a/俱乐部/Source/ServerControl/GameServer/ServiceUnits.h +++ b/俱乐部/Source/ServerControl/GameServer/ServiceUnits.h @@ -8,6 +8,7 @@ #include "AttemperEngineSink.h" #include "DataBaseEngineSink.h" #include "DBCorrespondManager.h" +#include "RedisHead.h" ////////////////////////////////////////////////////////////////////////////////// @@ -88,6 +89,7 @@ public: CTCPSocketServiceHelper m_TCPSocketService; // CGameServiceManagerHelper m_GameServiceManager; //Ϸģ CMatchServiceManagerHelper m_MatchServiceManager; // + std::shared_ptr m_RedisClient;//redis //ӿڱ protected: diff --git a/俱乐部/Source/ServerControl/KernelEngine/Debug_Unicode/vc142.pdb b/俱乐部/Source/ServerControl/KernelEngine/Debug_Unicode/vc142.pdb index e46259d..adf201e 100644 Binary files a/俱乐部/Source/ServerControl/KernelEngine/Debug_Unicode/vc142.pdb and b/俱乐部/Source/ServerControl/KernelEngine/Debug_Unicode/vc142.pdb differ diff --git a/俱乐部/Source/ServerControl/LogonServer/AttemperEngineSink.h b/俱乐部/Source/ServerControl/LogonServer/AttemperEngineSink.h index dd7ad16..0a947d1 100644 --- a/俱乐部/Source/ServerControl/LogonServer/AttemperEngineSink.h +++ b/俱乐部/Source/ServerControl/LogonServer/AttemperEngineSink.h @@ -6,6 +6,7 @@ #include "Stdafx.h" #include "InitParameter.h" #include "ServerListManager.h" +#include "RedisHead.h" ////////////////////////////////////////////////////////////////////////////////// //ݶ @@ -95,6 +96,7 @@ public: IDataBaseEngine * m_pIDataBaseEngine; // ITCPNetworkEngine * m_pITCPNetworkEngine; // ITCPSocketService * m_pITCPSocketService; //Э + std::shared_ptr m_RedisClient;//redis //Ƶ protected: diff --git a/俱乐部/Source/ServerControl/LogonServer/InitParameter.cpp b/俱乐部/Source/ServerControl/LogonServer/InitParameter.cpp index bd15763..b287396 100644 --- a/俱乐部/Source/ServerControl/LogonServer/InitParameter.cpp +++ b/俱乐部/Source/ServerControl/LogonServer/InitParameter.cpp @@ -121,6 +121,18 @@ VOID CInitParameter::LoadInitParameter() TCHAR szHttpName2[32] = TEXT("PATH2"); IniData.ReadString(TEXT("HTTP2"), TEXT("PATH2"), 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; } diff --git a/俱乐部/Source/ServerControl/LogonServer/InitParameter.h b/俱乐部/Source/ServerControl/LogonServer/InitParameter.h index bca4914..ad3aa0a 100644 --- a/俱乐部/Source/ServerControl/LogonServer/InitParameter.h +++ b/俱乐部/Source/ServerControl/LogonServer/InitParameter.h @@ -10,6 +10,15 @@ //ò 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: WORD m_wServerID; //¼ID //ϵͳ diff --git a/俱乐部/Source/ServerControl/LogonServer/LogonServer.vcxproj b/俱乐部/Source/ServerControl/LogonServer/LogonServer.vcxproj index 334e4ce..00f175e 100644 --- a/俱乐部/Source/ServerControl/LogonServer/LogonServer.vcxproj +++ b/俱乐部/Source/ServerControl/LogonServer/LogonServer.vcxproj @@ -60,7 +60,7 @@ WIN32;_WINDOWS;_DEBUG;_UNICODE;%(PreprocessorDefinitions) false /D _CRT_SECURE_NO_WARNINGS %(AdditionalOptions) - $(SolutionDir)Source\Protobuf;%(AdditionalIncludeDirectories) + $(SolutionDir)Source\Protobuf;$(SolutionDir)Source\ServerControl\CppRedis\includes;%(AdditionalIncludeDirectories) Windows @@ -94,7 +94,7 @@ false true /D _CRT_SECURE_NO_WARNINGS %(AdditionalOptions) - $(SolutionDir)Source\Protobuf;%(AdditionalIncludeDirectories) + $(SolutionDir)Source\Protobuf;$(SolutionDir)Source\ServerControl\CppRedis\includes;%(AdditionalIncludeDirectories) Windows @@ -129,6 +129,7 @@ copy /y $(OutDir)$(TargetFileName) ..\..\..\Publish\Server\$(Configuration)\$(Ta + @@ -149,6 +150,7 @@ copy /y $(OutDir)$(TargetFileName) ..\..\..\Publish\Server\$(Configuration)\$(Ta + diff --git a/俱乐部/Source/ServerControl/LogonServer/LogonServer.vcxproj.filters b/俱乐部/Source/ServerControl/LogonServer/LogonServer.vcxproj.filters index bb3532d..e928c8b 100644 --- a/俱乐部/Source/ServerControl/LogonServer/LogonServer.vcxproj.filters +++ b/俱乐部/Source/ServerControl/LogonServer/LogonServer.vcxproj.filters @@ -78,6 +78,9 @@ 头文件 + + 头文件 + @@ -122,6 +125,9 @@ proto + + 源文件 + diff --git a/俱乐部/Source/ServerControl/LogonServer/ServiceUnits.cpp b/俱乐部/Source/ServerControl/LogonServer/ServiceUnits.cpp index 92507a3..87abbe8 100644 --- a/俱乐部/Source/ServerControl/LogonServer/ServiceUnits.cpp +++ b/俱乐部/Source/ServerControl/LogonServer/ServiceUnits.cpp @@ -92,6 +92,8 @@ bool CServiceUnits::ConcludeService() if (m_TCPSocketService.GetInterface() != NULL) m_TCPSocketService->ConcludeService(); //c++ʹgoogle protobufڹرӦó֮ǰҪgoogle::protobuf::ShutdownProtobufLibrary();ҪȻڴй¶ google::protobuf::ShutdownProtobufLibrary(); + + m_RedisClient->DisConnect(); return true; } @@ -173,6 +175,10 @@ bool CServiceUnits::InitializeService() WORD wServicePort = m_InitParameter.m_wServicePort; if (m_TCPNetworkEngine->SetServiceParameter(wServicePort, wMaxConnect, szCompilation) == false) return false; + //redis + m_RedisClient = std::make_shared(); + 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; } diff --git a/俱乐部/Source/ServerControl/LogonServer/ServiceUnits.h b/俱乐部/Source/ServerControl/LogonServer/ServiceUnits.h index ad94b87..6845031 100644 --- a/俱乐部/Source/ServerControl/LogonServer/ServiceUnits.h +++ b/俱乐部/Source/ServerControl/LogonServer/ServiceUnits.h @@ -7,6 +7,7 @@ #include "InitParameter.h" #include "AttemperEngineSink.h" #include "DataBaseEngineSink.h" +#include "RedisHead.h" ////////////////////////////////////////////////////////////////////////////////// @@ -72,6 +73,7 @@ protected: CDataBaseEngineHelper m_DataBaseEngine; // CTCPNetworkEngineHelper m_TCPNetworkEngine; // CTCPSocketServiceHelper m_TCPSocketService; //Э + std::shared_ptr m_RedisClient;//redis //ӿڱ protected: