diff --git a/CHANGELOG b/CHANGELOG index c9d61b0678ad140ee1e8e5da760d3bf503d80b9f..fa8291c5fa8106191aad10544697a75762a29150 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,21 @@ +XEngine_Storage V3.11.0.1001 + +更新:匹配XEngine V8.x版本 +更新:linux和macos的编译脚本 +修改:现在数据库连接都使用utf8版本字符集了 +修改:数据库字符集使用utf8mb4_unicode_ci +修改:分离了验证和代理配置 +修改:下载和上传以及验证支持单独验证开关了 +修正:无法创建数据库表的问题 + +update:match xengine v8.10 +update:linux and macos build makefile +modify:database connect used to utf charset +modify:charset to utf8mb4_unicode_ci +modify:detach auth and proxy configure +modify:download and upload and center support both verification switch +fixed:can't create table of file +====================================================================================== XEngine_Storage V3.10.0.1001 增加:上传文件覆写功能 diff --git a/README.en.md b/README.en.md index 1506fecc1ec7c22ef219f799740b1d4b7903e87f..768dcaed84f763410529a1f2c580151b59294dab 100644 --- a/README.en.md +++ b/README.en.md @@ -8,7 +8,7 @@ c c++ 存储服务 c c++ 文件存储服务 c c++ file storage service This is an api gateway for uploading and downloading. The service is for users who have business needs for upload and download services (such as developers who need to upload and download servers). -This server is more inclined to storestorage transfer and API Manage interface +This server is more inclined to storestorage transfer and API Manage interface,the service can be used upload and download management and network file shared and software update service. best storage service for http,batter than nginx and more convenient to manage,more concise code. On going maintenance ## Software feature @@ -36,7 +36,7 @@ feature list: ## install #### XEngine Evn -you must install XEngine,need V7.38 or above,install XEngine can be refer to xengine Readme docment +you must install XEngine,need V8.10 or above,install XEngine can be refer to xengine Readme docment GITEE:https://gitee.com/xyry/libxengine GITHUB:https://github.com/libxengine/xengine @@ -51,11 +51,11 @@ use vs open and compile,suport windows 7sp1 and above Just Run it,use XEngine_AuthorizeApp #### Linux -use makefile compile,UBUNTU20.04 x64 or CENTOS8 x64 +use makefile compile,UBUNTU22.04 x64 or RockyLinux9 x64 Run it on the terminal #### Macos -use makefile compile,mac 12 and above +use makefile compile,mac 13 and above Run it on the terminal ##### complie @@ -86,7 +86,7 @@ P2P distributed download is the same as the hyper-threaded download of other dow - XEngine_Docment docment directory - XEngine_Release install directory - XEngine_Source code directory -- XEngine_APPClient client code dir +- XEngine_APPClient client code dir(APPClient_UPDate is software update example of client) - XEngine_SQLFile database sql file ## Example diff --git a/README.md b/README.md index c07ded0749ee0e44c9b3af784012266829294243..cd0f8b48f2ebd54a16f2c5e8d38dd901b9a70aaf 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ c c++ 存储服务 c c++ 文件存储服务 c c++ file storage service 这是一个上传下载服务API网关,不是文件同步服务,也不是云存储. 这个服务的主要目的是为了给有上传下载服务业务需求的用户使用(比如需要开发上传下载服务的开发人员). -此服务器更偏向于存储传输与API接口管理. +此服务器更偏向于存储传输与API接口管理,此服务可以用于上传下载的管理,网络文件共享或者软件更新服务. 目前最好的HTTP存储服务,比NGINX更优秀,更方便管理,代码更简洁.持续维护中... ## 软件特性 @@ -35,7 +35,7 @@ c c++ file storage service ## 安装教程 #### XEngine环境 -必须安装XEngine,版本需要V7.38或者以上版本,安装XEngine可以参考其Readme文档 +必须安装XEngine,版本需要V8.10或者以上版本,安装XEngine可以参考其Readme文档 GITEE:https://gitee.com/xyry/libxengine GITHUB:https://github.com/libxengine/xengine @@ -50,11 +50,11 @@ macos执行:./XEngine_LINEnv.sh -i 3 直接运行即可,使用XEngine_AuthorizeApp #### Linux -Linux使用Makefile编译,UBUNTU20.04 x64或者CENTOS8 x64 +Linux使用Makefile编译,UBUNTU22.04 x64或者RockyLinux x64 在控制台运行 #### Macos -使用makefile编译,控制台运行,需要mac 12以及以上版本 +使用makefile编译,控制台运行,需要mac 13以及以上版本 在控制台运行 ##### 编译命令 @@ -76,7 +76,7 @@ make FLAGS=CleanAll 清理编译 - XEngine_Docment 文档目录结构 - XEngine_Release 安装目录结构 - XEngine_Source 源代目录结构 -- XEngine_APPClient 客户端演示代码 +- XEngine_APPClient 客户端演示代码(APPClient_UPDate为软件更新演示客户端) - XEngine_SQLFile 数据库脚本文件 ## 示例 diff --git a/XEngine_APPClient/APPClient_Download/APPClient_Download.cpp b/XEngine_APPClient/APPClient_Download/APPClient_Download.cpp index 252a609bad5b4bb60e089d60e1e81337af43a917..dbbb47ee494ca14d87b0eac38580330137b66492 100644 --- a/XEngine_APPClient/APPClient_Download/APPClient_Download.cpp +++ b/XEngine_APPClient/APPClient_Download/APPClient_Download.cpp @@ -5,11 +5,15 @@ #ifdef _MSC_BUILD #include #include -#pragma comment(lib,"x86/XEngine_BaseLib/XEngine_BaseLib") -#pragma comment(lib,"x86/XEngine_NetHelp/NetHelp_APIClient") -#pragma comment(lib,"x86/XEngine_SystemSdk/XEngine_SystemApi") +#pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") +#pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") +#pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemApi") #pragma comment(lib,"Ws2_32") +#ifdef _WIN64 +#pragma comment(lib,"../../XEngine_Source/x64/Debug/jsoncpp") +#else #pragma comment(lib,"../../XEngine_Source/Debug/jsoncpp") +#endif #else #endif #include @@ -29,19 +33,19 @@ using namespace std; //需要优先配置XEngine -//WINDOWS使用VS2022 x86 debug 编译 +//WINDOWS使用VS2022 x86 或者 x64 debug 编译 //linux::g++ -std=c++17 -Wall -g APPClient_Download.cpp -o APPClient_Download.exe -I ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -L /usr/local/lib/XEngine_Release/XEngine_SystemSdk -L ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -lXEngine_BaseLib -lNetHelp_APIClient -lXEngine_SystemApi -ljsoncpp //macos::g++ -std=c++17 -Wall -g APPClient_Download.cpp -o APPClient_Download.exe -I ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -L ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -lXEngine_BaseLib -lNetHelp_APIClient -lXEngine_SystemApi -ljsoncpp typedef struct { XENGINE_PROTOCOL_FILE st_ProtocolFile; - CHAR tszBuckKey[128]; - CHAR tszIPAddr[64]; + XCHAR tszBuckKey[128]; + XCHAR tszIPAddr[64]; }P2PFILE_INFO; //解析局域网中所有文件 -void P2PParse_List(LPCTSTR lpszMsgBuffer, int nMsgLen, list* pStl_ListFile) +void P2PParse_List(LPCXSTR lpszMsgBuffer, int nMsgLen, list* pStl_ListFile) { Json::Value st_JsonRoot; Json::CharReaderBuilder st_JsonBuild; @@ -64,13 +68,13 @@ void P2PParse_List(LPCTSTR lpszMsgBuffer, int nMsgLen, list* pStl_ memset(&st_P2PFile, '\0', sizeof(P2PFILE_INFO)); st_P2PFile.st_ProtocolFile.nFileSize = st_JsonArray[i]["nFileSize"].asInt(); - _tcscpy(st_P2PFile.st_ProtocolFile.tszFileHash, st_JsonArray[i]["tszFileHash"].asCString()); - _tcscpy(st_P2PFile.st_ProtocolFile.tszFileName, st_JsonArray[i]["tszFileName"].asCString()); - _tcscpy(st_P2PFile.st_ProtocolFile.tszFilePath, st_JsonArray[i]["tszFilePath"].asCString()); - _tcscpy(st_P2PFile.st_ProtocolFile.tszFileTime, st_JsonArray[i]["tszFileTime"].asCString()); - _tcscpy(st_P2PFile.st_ProtocolFile.tszFileUser, st_JsonArray[i]["tszFileUser"].asCString()); - _tcscpy(st_P2PFile.tszIPAddr, st_JsonArray[i]["tszTableName"].asCString()); - _tcscpy(st_P2PFile.tszBuckKey, st_JsonArray[i]["tszBuckKey"].asCString()); + _tcsxcpy(st_P2PFile.st_ProtocolFile.tszFileHash, st_JsonArray[i]["tszFileHash"].asCString()); + _tcsxcpy(st_P2PFile.st_ProtocolFile.tszFileName, st_JsonArray[i]["tszFileName"].asCString()); + _tcsxcpy(st_P2PFile.st_ProtocolFile.tszFilePath, st_JsonArray[i]["tszFilePath"].asCString()); + _tcsxcpy(st_P2PFile.st_ProtocolFile.tszFileTime, st_JsonArray[i]["tszFileTime"].asCString()); + _tcsxcpy(st_P2PFile.st_ProtocolFile.tszFileUser, st_JsonArray[i]["tszFileUser"].asCString()); + _tcsxcpy(st_P2PFile.tszIPAddr, st_JsonArray[i]["tszTableName"].asCString()); + _tcsxcpy(st_P2PFile.tszBuckKey, st_JsonArray[i]["tszBuckKey"].asCString()); pStl_ListFile->push_back(st_P2PFile); } @@ -82,7 +86,7 @@ typedef struct __int64x nPosStart; __int64x nPosEnd; }P2PFILE_PIECE; -void P2PFile_Create(list* pStl_ListFile, LPCTSTR lpszFile) +void P2PFile_Create(list* pStl_ListFile, LPCXSTR lpszFile) { P2PFILE_PIECE* pSt_P2PFile = new P2PFILE_PIECE[pStl_ListFile->size()]; @@ -93,38 +97,38 @@ void P2PFile_Create(list* pStl_ListFile, LPCTSTR lpszFile) list::const_iterator stl_ListIterator = pStl_ListFile->begin(); for (int i = 0; stl_ListIterator != pStl_ListFile->end(); stl_ListIterator++, i++) { - TCHAR tszDLUrl[1024]; - TCHAR tszRange[128]; + XCHAR tszDLUrl[1024]; + XCHAR tszRange[128]; memset(tszDLUrl, '\0', sizeof(tszDLUrl)); memset(tszRange, '\0', sizeof(tszRange)); - _stprintf(tszDLUrl, _T("%s/%s/%s"), stl_ListIterator->tszIPAddr, stl_ListIterator->tszBuckKey, stl_ListIterator->st_ProtocolFile.tszFileName); + _xstprintf(tszDLUrl, _X("%s/%s/%s"), stl_ListIterator->tszIPAddr, stl_ListIterator->tszBuckKey, stl_ListIterator->st_ProtocolFile.tszFileName); //是否是最后一块 if ((int)pStl_ListFile->size() == (i + 1)) { pSt_P2PFile[i].nPosStart = nPos; pSt_P2PFile[i].nPosEnd = 0; - _stprintf(tszRange, _T("%lld-"), pSt_P2PFile[i].nPosStart); + _xstprintf(tszRange, _X("%lld-"), pSt_P2PFile[i].nPosStart); } else { pSt_P2PFile[i].nPosStart = nPos; pSt_P2PFile[i].nPosEnd = nPiece; nPos += nPiece; - _stprintf(tszRange, _T("%lld-%lld"), pSt_P2PFile[i].nPosStart, pSt_P2PFile[i].nPosEnd); + _xstprintf(tszRange, _X("%lld-%lld"), pSt_P2PFile[i].nPosStart, pSt_P2PFile[i].nPosEnd); } - pSt_P2PFile[i].xhToken = APIClient_File_Create(tszDLUrl, lpszFile, TRUE, tszRange); + pSt_P2PFile[i].xhToken = APIClient_File_Create(tszDLUrl, lpszFile, true, tszRange); if (NULL == pSt_P2PFile[i].xhToken) { - printf("create download task is failed:%X\n", APIClient_GetLastError()); + _xtprintf("create download task is failed:%X\n", APIClient_GetLastError()); } APIClient_File_Start(pSt_P2PFile[i].xhToken); } //直到所有完成 while (1) { - BOOL bComplete = TRUE; + bool bComplete = true; for (unsigned int i = 0; i < pStl_ListFile->size(); i++) { NETHELP_FILEINFO st_TaskInfo; @@ -135,7 +139,7 @@ void P2PFile_Create(list* pStl_ListFile, LPCTSTR lpszFile) { bComplete = FALSE; } - printf("DLToken:%p DLTotal:%lf DLNow:%lf DLStatus:%d\n", pSt_P2PFile[i].xhToken, st_TaskInfo.dlTotal, st_TaskInfo.dlNow, st_TaskInfo.en_DownStatus); + _xtprintf("DLToken:%p DLTotal:%lf DLNow:%lf DLStatus:%d\n", pSt_P2PFile[i].xhToken, st_TaskInfo.dlTotal, st_TaskInfo.dlNow, st_TaskInfo.en_DownStatus); } if (bComplete) { @@ -161,10 +165,10 @@ int main() int nHTTPCode = 0; int nBodyLen = 0; - TCHAR *ptszMsgBody = NULL; + XCHAR *ptszMsgBody = NULL; //请求分布式存储文件所有位置 - LPCTSTR lpszUrl = _T("http://127.0.0.1:5100/Api/Manage/Query"); - LPCTSTR lpszFile = _T("D:\\XEngine_Storage\\XEngine_APPClient\\Debug\\qq.exe"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5100/Api/Manage/Query"); + LPCXSTR lpszFile = _X("D:\\XEngine_Storage\\XEngine_APPClient\\Debug\\qq.exe"); Json::Value st_JsonRoot; st_JsonRoot["nMode"] = 1; //使用P2P下载 @@ -172,11 +176,11 @@ int main() //st_JsonRoot["lpszFileName"] = "qq.exe"; st_JsonRoot["lpszFileHash"] = "781E5E245D69B566979B86E28D23F2C7"; - if (!APIClient_Http_Request(_T("POST"), lpszUrl, st_JsonRoot.toStyledString().c_str(), &nHTTPCode, &ptszMsgBody, &nBodyLen)) + if (!APIClient_Http_Request(_X("POST"), lpszUrl, st_JsonRoot.toStyledString().c_str(), &nHTTPCode, &ptszMsgBody, &nBodyLen)) { return -1; } - printf("%s\n", ptszMsgBody); + _xtprintf("%s\n", ptszMsgBody); list stl_ListFile; P2PParse_List(ptszMsgBody, nBodyLen, &stl_ListFile); diff --git a/XEngine_APPClient/APPClient_Download/APPClient_Download.vcxproj b/XEngine_APPClient/APPClient_Download/APPClient_Download.vcxproj index 77aeac92995957c0fbc4bedcbe130147801084fc..88a09fb3de765e603e93cc4fb98793058a761c33 100644 --- a/XEngine_APPClient/APPClient_Download/APPClient_Download.vcxproj +++ b/XEngine_APPClient/APPClient_Download/APPClient_Download.vcxproj @@ -73,13 +73,15 @@ true $(XEngine_Include);../../XEngine_Source/XEngine_ThirdPart/jsoncpp;$(IncludePath) - $(XEngine_Library);$(LibraryPath) + $(XEngine_Lib32);$(LibraryPath) false true + $(XEngine_Include);../../XEngine_Source/XEngine_ThirdPart/jsoncpp;$(IncludePath) + $(XEngine_Lib64);$(LibraryPath) false @@ -116,7 +118,7 @@ Level3 true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + _DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true diff --git a/XEngine_APPClient/APPClient_RestApi/APPClient_RestApi.cpp b/XEngine_APPClient/APPClient_RestApi/APPClient_RestApi.cpp index 61b08911b1720fa954785d0e62c9913b69e17663..bddbb1e102c0decb5c22d741f4989620c3c7883c 100644 --- a/XEngine_APPClient/APPClient_RestApi/APPClient_RestApi.cpp +++ b/XEngine_APPClient/APPClient_RestApi/APPClient_RestApi.cpp @@ -1,10 +1,15 @@ #ifdef _MSC_BUILD #include #include -#pragma comment(lib,"../../XEngine_Source/Debug/jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") +#pragma comment(lib,"XEngine_Core/XEngine_OPenSsl") #pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") #pragma comment(lib,"Ws2_32") +#ifdef _WIN64 +#pragma comment(lib,"../../XEngine_Source/x64/Debug/jsoncpp") +#else +#pragma comment(lib,"../../XEngine_Source/Debug/jsoncpp") +#endif #endif #include #include @@ -16,43 +21,48 @@ #include #include #include +#include +#include #include #include using namespace std; -//g++ -std=c++17 -Wall -g APPClient_RestApi.cpp -o APPClient_RestApi.exe -L ../../../XEngine/XEngine_Release/XEngine_Linux/Ubuntu/XEngine_BaseLib -L ../../../XEngine/XEngine_Release/XEngine_Linux/Ubuntu/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -ljsoncpp -Wl,-rpath=../../../XEngine/XEngine_Release/XEngine_Linux/Ubuntu/XEngine_BaseLib:../../../XEngine/XEngine_Release/XEngine_Linux/Ubuntu/XEngine_NetHelp,--disable-new-dtags +//g++ -std=c++17 -Wall -g APPClient_RestApi.cpp -o APPClient_RestApi.exe -L ../../../XEngine/XEngine_Release/XEngine_Linux/Ubuntu/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Core -L ../../../XEngine/XEngine_Release/XEngine_Linux/Ubuntu/XEngine_NetHelp -lXEngine_BaseLib -lNetHelp_APIClient -ljsoncpp -Wl,-rpath=../../../XEngine/XEngine_Release/XEngine_Linux/Ubuntu/XEngine_BaseLib:../../../XEngine/XEngine_Release/XEngine_Linux/Ubuntu/XEngine_NetHelp,--disable-new-dtags //需要优先配置XEngine -//WINDOWS使用VS2022 x86 debug 编译 +//WINDOWS使用VS2022 x86 或者 x64 debug 编译 //linux使用下面的命令编译 -//g++ -std=c++17 -Wall -g APPClient_RestApi.cpp -o APPClient_RestApi.exe -I ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -L ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -lXEngine_BaseLib -lNetHelp_APIClient -ljsoncpp +//g++ -std=c++17 -Wall -g APPClient_RestApi.cpp -o APPClient_RestApi.exe -I ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Core -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -L ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -lXEngine_BaseLib -lNetHelp_APIClient -ljsoncpp +XCHAR tszBaseBuffer[MAX_PATH]; +XCHAR tszHdrBuffer[MAX_PATH]; //查询 void API_Manage_Query() { - LPCTSTR lpszUrl = _T("http://192.168.1.8:5100/Api/Manage/QueryFile"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5100/Api/Manage/QueryFile"); int nLen = 0; int nCode = 0; - TCHAR* ptszMsgBuffer = NULL; + XCHAR* ptszMsgBuffer = NULL; Json::Value st_JsonRoot; + st_JsonRoot["lpszTimeStart"]; st_JsonRoot["lpszTimeEnd"]; st_JsonRoot["lpszBuckKey"] = "storagekey2"; - if (!APIClient_Http_Request(_T("POST"), lpszUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen, tszHdrBuffer)) { - printf("API_Manage_Query:%lX\n", APIClient_GetLastError()); + _xtprintf("API_Manage_Query:%lX\n", APIClient_GetLastError()); return; } - printf("API_Manage_Query:%d,%s\n", nCode, ptszMsgBuffer); + _xtprintf("API_Manage_Query:%d,%s\n", nCode, ptszMsgBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); } //插入 void API_Manage_Insert() { - LPCTSTR lpszUrl = _T("http://192.168.1.8:5100/Api/Manage/Insert"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5100/Api/Manage/Insert"); int nLen = 0; int nCode = 0; - TCHAR* ptszMsgBuffer = NULL; + XCHAR* ptszMsgBuffer = NULL; Json::Value st_JsonRoot; Json::Value st_JsonArray; Json::Value st_JsonObject; @@ -66,21 +76,21 @@ void API_Manage_Insert() st_JsonRoot["List"] = st_JsonArray; st_JsonRoot["Count"] = 1; - if (!APIClient_Http_Request(_T("POST"), lpszUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen, tszHdrBuffer)) { - printf("API_Manage_Insert:%lX\n", APIClient_GetLastError()); + _xtprintf("API_Manage_Insert:%lX\n", APIClient_GetLastError()); return; } - printf("API_Manage_Insert:%d,%s\n", nCode, ptszMsgBuffer); + _xtprintf("API_Manage_Insert:%d,%s\n", nCode, ptszMsgBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); } //删除 void API_Manage_Delete() { - LPCTSTR lpszUrl = _T("http://192.168.1.8:5100/Api/Manage/Delete"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5100/Api/Manage/Delete"); int nLen = 0; int nCode = 0; - TCHAR* ptszMsgBuffer = NULL; + XCHAR* ptszMsgBuffer = NULL; Json::Value st_JsonRoot; Json::Value st_JsonArray; Json::Value st_JsonObject; @@ -91,71 +101,71 @@ void API_Manage_Delete() st_JsonRoot["List"] = st_JsonArray; st_JsonRoot["Count"] = 1; - if (!APIClient_Http_Request(_T("POST"), lpszUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen, tszHdrBuffer)) { - printf("API_Manage_Delete:%lX\n", APIClient_GetLastError()); + _xtprintf("API_Manage_Delete:%lX\n", APIClient_GetLastError()); return; } - printf("API_Manage_Delete:%d,%s\n", nCode, ptszMsgBuffer); + _xtprintf("API_Manage_Delete:%d,%s\n", nCode, ptszMsgBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); } //文件夹 void API_Manage_Dir() { - LPCTSTR lpszUrl = _T("http://192.168.1.8:5100/Api/Manage/Dir"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5100/Api/Manage/Dir"); int nLen = 0; int nCode = 0; - TCHAR* ptszMsgBuffer = NULL; + XCHAR* ptszMsgBuffer = NULL; Json::Value st_JsonRoot; //创建 st_JsonRoot["lpszBuckKey"] = "storagekey1"; st_JsonRoot["lpszUserDir"] = "user"; st_JsonRoot["nOPerator"] = 1; - if (!APIClient_Http_Request(_T("POST"), lpszUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen, tszHdrBuffer)) { - printf("API_Manage_Dir:%lX\n", APIClient_GetLastError()); + _xtprintf("API_Manage_Dir:%lX\n", APIClient_GetLastError()); return; } - printf("API_Manage_Dir:%d,%s\n", nCode, ptszMsgBuffer); + _xtprintf("API_Manage_Dir:%d,%s\n", nCode, ptszMsgBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); //查询 st_JsonRoot.clear(); st_JsonRoot["lpszBuckKey"] = "storagekey1"; st_JsonRoot["lpszUserDir"]; st_JsonRoot["nOPerator"] = 0; - if (!APIClient_Http_Request(_T("POST"), lpszUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen, tszHdrBuffer)) { - printf("API_Manage_Dir:%lX\n", APIClient_GetLastError()); + _xtprintf("API_Manage_Dir:%lX\n", APIClient_GetLastError()); return; } - printf("API_Manage_Dir:%d,%s\n", nCode, ptszMsgBuffer); + _xtprintf("API_Manage_Dir:%d,%s\n", nCode, ptszMsgBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); //删除 st_JsonRoot.clear(); st_JsonRoot["lpszBuckKey"] = "storagekey1"; st_JsonRoot["lpszUserDir"] = "user"; st_JsonRoot["nOPerator"] = 2; - if (!APIClient_Http_Request(_T("POST"), lpszUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen)) + if (!APIClient_Http_Request(_X("POST"), lpszUrl, st_JsonRoot.toStyledString().c_str(), &nCode, &ptszMsgBuffer, &nLen, tszHdrBuffer)) { - printf("API_Manage_Dir:%lX\n", APIClient_GetLastError()); + _xtprintf("API_Manage_Dir:%lX\n", APIClient_GetLastError()); return; } - printf("API_Manage_Dir:%d,%s\n", nCode, ptszMsgBuffer); + _xtprintf("API_Manage_Dir:%d,%s\n", nCode, ptszMsgBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); } //任务管理 void API_Manage_Task() { - LPCTSTR lpszUrl = _T("http://192.168.1.8:5100/Api/Manage/Task"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5100/Api/Manage/Task"); int nLen = 0; int nCode = 0; - TCHAR* ptszMsgBuffer = NULL; - if (!APIClient_Http_Request(_T("POST"), lpszUrl, NULL, &nCode, &ptszMsgBuffer, &nLen)) + XCHAR* ptszMsgBuffer = NULL; + if (!APIClient_Http_Request(_X("POST"), lpszUrl, NULL, &nCode, &ptszMsgBuffer, &nLen, tszHdrBuffer)) { - printf("API_Manage_Task:%lX\n", APIClient_GetLastError()); + _xtprintf("API_Manage_Task:%lX\n", APIClient_GetLastError()); return; } - printf("API_Manage_Task:%d,%s\n", nCode, ptszMsgBuffer); + _xtprintf("API_Manage_Task:%d,%s\n", nCode, ptszMsgBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); } @@ -165,6 +175,10 @@ int main() WSADATA st_WSAData; WSAStartup(MAKEWORD(2, 2), &st_WSAData); #endif + memset(tszBaseBuffer, '\0', MAX_PATH); + memset(tszHdrBuffer, '\0', MAX_PATH); + OPenSsl_Help_BasicEncoder("123123aa", "123123", tszBaseBuffer); + _xstprintf(tszHdrBuffer, _X("Authorization: %s\r\n"), tszBaseBuffer); API_Manage_Query(); API_Manage_Insert(); diff --git a/XEngine_APPClient/APPClient_RestApi/APPClient_RestApi.vcxproj b/XEngine_APPClient/APPClient_RestApi/APPClient_RestApi.vcxproj index 7caa46203e414e8308e7375441f5e10f4485c0c0..c87ce2eec4a89e9dad41b6b329c6ad623bf29a58 100644 --- a/XEngine_APPClient/APPClient_RestApi/APPClient_RestApi.vcxproj +++ b/XEngine_APPClient/APPClient_RestApi/APPClient_RestApi.vcxproj @@ -80,6 +80,8 @@ true + $(XEngine_Include);../../XEngine_Source/XEngine_ThirdPart/jsoncpp;$(IncludePath) + $(XEngine_Lib64);$(LibraryPath) false @@ -88,7 +90,7 @@ Level3 true - WIN32;_DEBUG;_CONSOLE;_WINDOWS;%(PreprocessorDefinitions) + WIN32;_DEBUG;_CONSOLE;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true diff --git a/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPFile.cpp b/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPFile.cpp index 145cee9b97a7fa3499252ff6cb941e0a04ea55e7..72de648f46fe1ca4b3ba695211f90dec12bc4fcf 100644 --- a/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPFile.cpp +++ b/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPFile.cpp @@ -8,14 +8,14 @@ int main(int argc, char** argv) WSADATA st_WSAData; WSAStartup(MAKEWORD(2, 2), &st_WSAData); #endif - LPCTSTR lpszLocalFile = _T("D:\\XEngine_Storage\\XEngine_APPClient\\Debug\\LocalFile.txt"); - LPCTSTR lpszDownload = _T("http://192.168.1.8:5101/storagekey1/xengine/upfile.txt"); - TCHAR* ptszMsgBuffer = NULL; + LPCXSTR lpszLocalFile = _X("D:\\XEngine_Storage\\XEngine_APPClient\\Debug\\LocalFile.json"); + LPCXSTR lpszDownload = _X("http://127.0.0.1:5101/storagekey1/xengine/upfile.json"); + XCHAR* ptszMsgBuffer = NULL; int nMsgLen = 0; - if (!APIClient_Http_Request(_T("GET"), lpszDownload, NULL, NULL, &ptszMsgBuffer, &nMsgLen)) + if (!APIClient_Http_Request(_X("GET"), lpszDownload, NULL, NULL, &ptszMsgBuffer, &nMsgLen)) { - printf("APIHelp_HttpRequest_Custom:%lX\n", APIClient_GetLastError()); + _xtprintf("APIHelp_HttpRequest_Custom:%lX\n", APIClient_GetLastError()); return 0; } string m_StrDes; @@ -27,24 +27,24 @@ int main(int argc, char** argv) FILEPARSER_VERSIONINFO** ppSt_RemoteList; if (!FileParser_ReadVer_GetRemote(ptszMsgBuffer, nMsgLen, &ppSt_RemoteList, &nRemoteCount, &nRemoteVer, &m_StrDes)) { - printf("FileParser_ReadVer_GetRemote error\n"); + _xtprintf("FileParser_ReadVer_GetRemote error\n"); return 0; } if (!FileParser_ReadVer_GetLocal(lpszLocalFile, &ppSt_LocalList, &nLocalCount, &nLocalVer)) { - printf("FileParser_ReadVer_GetLocal error\n"); + _xtprintf("FileParser_ReadVer_GetLocal error\n"); return 0; } if (nLocalVer >= nRemoteVer) { - printf("没有新版本可以使用\n"); + _xtprintf("没有新版本可以使用\n"); return 0; } list stl_ListUPDate; if (!FileParser_Match_Start(&ppSt_RemoteList, nRemoteCount, &ppSt_LocalList, nLocalCount, &stl_ListUPDate)) { - printf("FileParser_ReadVer_GetLocal error\n"); + _xtprintf("FileParser_ReadVer_GetLocal error\n"); return 0; } BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_LocalList, nLocalCount); @@ -52,7 +52,7 @@ int main(int argc, char** argv) if (stl_ListUPDate.empty()) { - printf("有更新,但是更新列表为空,无法继续\n"); + _xtprintf("有更新,但是更新列表为空,无法继续\n"); return 0; } list::const_iterator stl_ListIterator = stl_ListUPDate.begin(); @@ -60,28 +60,28 @@ int main(int argc, char** argv) { if (0 == stl_ListIterator->st_LocalVersion.nModuleVersion) { - printf(_T("增加一个模块,模块名称:%s,老模块版本:%lld,新模块版本:%lld\n"), stl_ListIterator->tszModuleName, stl_ListIterator->st_LocalVersion.nModuleVersion, stl_ListIterator->nModuleVersion); + _xtprintf(_X("增加一个模块,模块名称:%s,老模块版本:%lld,新模块版本:%lld\n"), stl_ListIterator->tszModuleName, stl_ListIterator->st_LocalVersion.nModuleVersion, stl_ListIterator->nModuleVersion); } else { - printf(_T("更新一个模块,模块名称:%s,老模块版本:%lld,新模块版本:%lld\n"), stl_ListIterator->tszModuleName, stl_ListIterator->st_LocalVersion.nModuleVersion, stl_ListIterator->nModuleVersion); + _xtprintf(_X("更新一个模块,模块名称:%s,老模块版本:%lld,新模块版本:%lld\n"), stl_ListIterator->tszModuleName, stl_ListIterator->st_LocalVersion.nModuleVersion, stl_ListIterator->nModuleVersion); } } stl_ListIterator = stl_ListUPDate.begin(); for (; stl_ListIterator != stl_ListUPDate.end(); stl_ListIterator++) { - TCHAR tszPathFile[1024]; + XCHAR tszPathFile[1024]; NETHELP_FILEINFO st_TaskInfo; memset(tszPathFile, '\0', sizeof(tszPathFile)); memset(&st_TaskInfo, '\0', sizeof(NETHELP_FILEINFO)); - _stprintf_s(tszPathFile, _T("%s%s"), stl_ListIterator->tszModulePath, stl_ListIterator->tszModuleName); - _tremove(tszPathFile); + _xstprintf(tszPathFile, _X("%s%s"), stl_ListIterator->tszModulePath, stl_ListIterator->tszModuleName); + _xtremove(tszPathFile); XHANDLE xhDown = APIClient_File_Create(stl_ListIterator->tszModuleDownload, tszPathFile); APIClient_File_Start(xhDown); - while (TRUE) + while (true) { if (!APIClient_File_Query(xhDown, &st_TaskInfo)) { @@ -97,25 +97,25 @@ int main(int argc, char** argv) if (!HelpModule_Api_Copy(&stl_ListUPDate)) { - printf("HelpModule_Api_Copy error\n"); + _xtprintf("HelpModule_Api_Copy error\n"); return 0; } if (!HelpModule_Api_SetVersion(lpszLocalFile, ptszMsgBuffer, nMsgLen)) { - printf("HelpModule_Api_Copy error\n"); + _xtprintf("HelpModule_Api_Copy error\n"); return 0; } if (!HelpModule_Api_RunExec(&stl_ListUPDate)) { - printf("HelpModule_Api_Copy error\n"); + _xtprintf("HelpModule_Api_Copy error\n"); return 0; } if (!HelpModule_Api_Clear(ptszMsgBuffer, nMsgLen)) { - printf("HelpModule_Api_Copy error\n"); + _xtprintf("HelpModule_Api_Copy error\n"); return 0; } diff --git a/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPFile.vcxproj b/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPFile.vcxproj index 2e835ae8f7e11d655697b4d71c24ebe3424cceaf..d570fc0a594f0a1d4b860d88bf949725f768455a 100644 --- a/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPFile.vcxproj +++ b/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPFile.vcxproj @@ -74,6 +74,10 @@ $(XEngine_Include);../../../XEngine_Source/XEngine_ThirdPart/jsoncpp;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) + + $(XEngine_Include);../../../XEngine_Source/XEngine_ThirdPart/jsoncpp;$(IncludePath) + $(XEngine_Lib64);$(LibraryPath) + Level3 @@ -106,7 +110,7 @@ Level3 true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + _DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true diff --git a/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPHdr.h b/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPHdr.h index 5db48fb10a894782f1d2f64e35c5670b525d1d79..8c2aab6ba5e275f9f2cc4a55fb8cdd7f8f1b7244 100644 --- a/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPHdr.h +++ b/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPHdr.h @@ -2,10 +2,14 @@ #include #include #pragma comment(lib,"Ws2_32.lib") -#pragma comment(lib,"../../../XEngine_Source/Debug/jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib.lib") #pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient.lib") #pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemApi.lib") +#ifdef _WIN64 +#pragma comment(lib,"../../../XEngine_Source/x64/Debug/jsoncpp") +#else +#pragma comment(lib,"../../../XEngine_Source/Debug/jsoncpp") +#endif #endif #include #include @@ -28,17 +32,17 @@ using namespace std; typedef struct { - CHAR tszModulePath[MAX_PATH]; //模块路径,新增加的必须拥有此值 - CHAR tszModuleName[MAX_PATH]; //模块名称 - CHAR tszModuleDownload[MAX_PATH]; //模块下载地址 - CHAR tszModuleCode[MAX_PATH]; //远程模块标识符 + XCHAR tszModulePath[MAX_PATH]; //模块路径,新增加的必须拥有此值 + XCHAR tszModuleName[MAX_PATH]; //模块名称 + XCHAR tszModuleDownload[MAX_PATH]; //模块下载地址 + XCHAR tszModuleCode[MAX_PATH]; //远程模块标识符 __int64x nModuleVersion; //文件版本号 - BOOL bIsRun; //安装完成是否运行 + bool bIsRun; //安装完成是否运行 struct { __int64x nModuleVersion; - CHAR tszMoudelPath[MAX_PATH]; - CHAR tszMoudelName[MAX_PATH]; - CHAR tszMoudelCode[MAX_PATH]; + XCHAR tszMoudelPath[MAX_PATH]; + XCHAR tszMoudelName[MAX_PATH]; + XCHAR tszMoudelCode[MAX_PATH]; }st_LocalVersion; }FILEPARSER_VERSIONINFO, * LPFILEPARSER_VERSIONINFO; \ No newline at end of file diff --git a/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPInstall.h b/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPInstall.h index c14eff02806cf67204dc21cf0a2849132a3122a3..8ecb29e38030842ddd0dddff3111dea0601177a6 100644 --- a/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPInstall.h +++ b/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPInstall.h @@ -37,7 +37,7 @@ 意思:是否获取成功 备注: *********************************************************************/ -BOOL FileParser_ReadVer_GetRemote(LPCTSTR lpszJsonMsg, int nMsgLen, FILEPARSER_VERSIONINFO*** pppSt_FileList, int* pInt_Count, __int64x* pInt_Version, string* pStrDes) +bool FileParser_ReadVer_GetRemote(LPCXSTR lpszJsonMsg, int nMsgLen, FILEPARSER_VERSIONINFO*** pppSt_FileList, int* pInt_Count, __int64x* pInt_Version, string* pStrDes) { Json::Value st_JsonRoot; Json::Value st_JsonArray; @@ -76,15 +76,15 @@ BOOL FileParser_ReadVer_GetRemote(LPCTSTR lpszJsonMsg, int nMsgLen, FILEPARSER_V //开始读取文件列表内容 (*pppSt_FileList)[i]->bIsRun = st_JsonArray[i]["ModuleRun"].asBool(); (*pppSt_FileList)[i]->nModuleVersion = st_JsonArray[i]["ModuleVersion"].asInt64(); - _tcscpy((*pppSt_FileList)[i]->tszModuleCode, st_JsonArray[i]["ModuleCode"].asCString()); + _tcsxcpy((*pppSt_FileList)[i]->tszModuleCode, st_JsonArray[i]["ModuleCode"].asCString()); if (!st_JsonArray[i]["ModulePath"].isNull()) { - _tcscpy((*pppSt_FileList)[i]->tszModulePath, st_JsonArray[i]["ModulePath"].asCString()); + _tcsxcpy((*pppSt_FileList)[i]->tszModulePath, st_JsonArray[i]["ModulePath"].asCString()); } - _tcscpy((*pppSt_FileList)[i]->tszModuleName, st_JsonArray[i]["ModuleName"].asCString()); - _tcscpy((*pppSt_FileList)[i]->tszModuleDownload, st_JsonArray[i]["ModuleDownload"].asCString()); + _tcsxcpy((*pppSt_FileList)[i]->tszModuleName, st_JsonArray[i]["ModuleName"].asCString()); + _tcsxcpy((*pppSt_FileList)[i]->tszModuleDownload, st_JsonArray[i]["ModuleDownload"].asCString()); } - return TRUE; + return true; } /******************************************************************** 函数名称:FileParser_ReadVer_GetLocal @@ -114,33 +114,33 @@ BOOL FileParser_ReadVer_GetRemote(LPCTSTR lpszJsonMsg, int nMsgLen, FILEPARSER_V 意思:是否获取成功 备注: *********************************************************************/ -BOOL FileParser_ReadVer_GetLocal(LPCTSTR lpszFileList, FILEPARSER_VERSIONINFO*** pppSt_FileList, int* pInt_Count, __int64x* pInt_Version /* = NULL */) +bool FileParser_ReadVer_GetLocal(LPCXSTR lpszFileList, FILEPARSER_VERSIONINFO*** pppSt_FileList, int* pInt_Count, __int64x* pInt_Version /* = NULL */) { int nCount = 0; - TCHAR* ptszJsonFile = (TCHAR*)malloc(1024 * 1024 * 10); + XCHAR* ptszJsonFile = (XCHAR*)malloc(1024 * 1024 * 10); if (NULL == ptszJsonFile) { return FALSE; } memset(ptszJsonFile, '\0', 1024 * 1024 * 10); - FILE* pSt_File = _tfopen(lpszFileList, _T("rb")); + FILE* pSt_File = _xtfopen(lpszFileList, _X("rb")); if (NULL == pSt_File) { free(ptszJsonFile); ptszJsonFile = NULL; return FALSE; } - while (TRUE) + while (true) { - TCHAR tszJsonMsg[2048]; + XCHAR tszJsonMsg[2048]; memset(tszJsonMsg, '\0', sizeof(tszJsonMsg)); - int nRet = fread(tszJsonMsg, sizeof(TCHAR), sizeof(tszJsonMsg), pSt_File); + size_t nRet = fread(tszJsonMsg, sizeof(XCHAR), sizeof(tszJsonMsg), pSt_File); if (nRet <= 0) { break; } memcpy(ptszJsonFile + nCount, tszJsonMsg, nRet); - nCount += nRet; + nCount += (int)nRet; } fclose(pSt_File); @@ -173,11 +173,11 @@ BOOL FileParser_ReadVer_GetLocal(LPCTSTR lpszFileList, FILEPARSER_VERSIONINFO*** for (unsigned int i = 0; i < st_JsonArray.size(); i++) { (*pppSt_FileList)[i]->st_LocalVersion.nModuleVersion = st_JsonArray[i]["ModuleVersion"].asInt64(); - _tcscpy((*pppSt_FileList)[i]->st_LocalVersion.tszMoudelCode, st_JsonArray[i]["ModuleCode"].asCString()); - _tcscpy((*pppSt_FileList)[i]->st_LocalVersion.tszMoudelName, st_JsonArray[i]["ModuleName"].asCString()); - _tcscpy((*pppSt_FileList)[i]->st_LocalVersion.tszMoudelPath, st_JsonArray[i]["ModulePath"].asCString()); + _tcsxcpy((*pppSt_FileList)[i]->st_LocalVersion.tszMoudelCode, st_JsonArray[i]["ModuleCode"].asCString()); + _tcsxcpy((*pppSt_FileList)[i]->st_LocalVersion.tszMoudelName, st_JsonArray[i]["ModuleName"].asCString()); + _tcsxcpy((*pppSt_FileList)[i]->st_LocalVersion.tszMoudelPath, st_JsonArray[i]["ModulePath"].asCString()); } - return TRUE; + return true; } /******************************************************************** 函数名称:FileParser_Match_Start @@ -212,14 +212,14 @@ BOOL FileParser_ReadVer_GetLocal(LPCTSTR lpszFileList, FILEPARSER_VERSIONINFO*** 意思:是否有新版本 备注: *********************************************************************/ -BOOL FileParser_Match_Start(FILEPARSER_VERSIONINFO*** pppSt_ListRemote, int nRemoteCount, FILEPARSER_VERSIONINFO*** pppSt_ListLocal, int nLocalCount, list* pStl_ListUPDate) +bool FileParser_Match_Start(FILEPARSER_VERSIONINFO*** pppSt_ListRemote, int nRemoteCount, FILEPARSER_VERSIONINFO*** pppSt_ListLocal, int nLocalCount, list* pStl_ListUPDate) { for (int i = 0; i < nRemoteCount; i++) { //版本比较 for (int j = 0; j < nLocalCount; j++) { - if (0 == _tcsncmp((*pppSt_ListLocal)[j]->st_LocalVersion.tszMoudelCode, (*pppSt_ListRemote)[i]->tszModuleCode, _tcslen((*pppSt_ListRemote)[i]->tszModuleCode))) + if (0 == _tcsxncmp((*pppSt_ListLocal)[j]->st_LocalVersion.tszMoudelCode, (*pppSt_ListRemote)[i]->tszModuleCode, _tcsxlen((*pppSt_ListRemote)[i]->tszModuleCode))) { if ((*pppSt_ListRemote)[i]->nModuleVersion > (*pppSt_ListLocal)[j]->st_LocalVersion.nModuleVersion) { @@ -234,5 +234,5 @@ BOOL FileParser_Match_Start(FILEPARSER_VERSIONINFO*** pppSt_ListRemote, int nRem } } } - return TRUE; + return true; } \ No newline at end of file diff --git a/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPTask.h b/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPTask.h index 888bc140b848399358afe9f45a01441f50a729ef..e2918b8703349994bc7d8f990b06cf0c75420af9 100644 --- a/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPTask.h +++ b/XEngine_APPClient/APPClient_UPDate/APPClient_UPFile/APPClient_UPTask.h @@ -22,10 +22,10 @@ 意思:是否拷贝成功 备注: *********************************************************************/ -BOOL HelpModule_Api_Copy(list* pStl_ListUPDate, LPCTSTR lpszDlPath = NULL, BOOL bDelFile = TRUE) +bool HelpModule_Api_Copy(list* pStl_ListUPDate, LPCXSTR lpszDlPath = NULL, bool bDelFile = true) { - TCHAR tszDlPath[1024]; - TCHAR tszCpPath[1024]; + XCHAR tszDlPath[1024]; + XCHAR tszCpPath[1024]; if ((NULL == pStl_ListUPDate)) { return FALSE; @@ -38,19 +38,19 @@ BOOL HelpModule_Api_Copy(list* pStl_ListUPDate, LPCTSTR //获取下载的文件路径和名称 组合成可以拷贝的路径地址 if (NULL != lpszDlPath) { - _stprintf_s(tszDlPath, _T("%s%s"), lpszDlPath, stl_ListIterator->tszModuleName); + _xstprintf(tszDlPath, _X("%s%s"), lpszDlPath, stl_ListIterator->tszModuleName); } else { - _tcscpy(tszDlPath, stl_ListIterator->tszModuleName); + _tcsxcpy(tszDlPath, stl_ListIterator->tszModuleName); } if (0 == stl_ListIterator->st_LocalVersion.nModuleVersion) { - _stprintf_s(tszCpPath, _T("%s%s"), stl_ListIterator->tszModulePath, stl_ListIterator->tszModuleName); + _xstprintf(tszCpPath, _X("%s%s"), stl_ListIterator->tszModulePath, stl_ListIterator->tszModuleName); } else { - _stprintf_s(tszCpPath, _T("%s%s"), stl_ListIterator->st_LocalVersion.tszMoudelPath, stl_ListIterator->st_LocalVersion.tszMoudelName); + _xstprintf(tszCpPath, _X("%s%s"), stl_ListIterator->st_LocalVersion.tszMoudelPath, stl_ListIterator->st_LocalVersion.tszMoudelName); } if (!SystemApi_File_CreateMutilFolder(stl_ListIterator->st_LocalVersion.tszMoudelPath)) { @@ -63,13 +63,13 @@ BOOL HelpModule_Api_Copy(list* pStl_ListUPDate, LPCTSTR if (bDelFile) { //删除原始下载的文件 - if (0 != _tremove(tszDlPath)) + if (0 != _xtremove(tszDlPath)) { return FALSE; } } } - return TRUE; + return true; } /******************************************************************** 函数名称:HelpModule_Api_SetVersion @@ -94,7 +94,7 @@ BOOL HelpModule_Api_Copy(list* pStl_ListUPDate, LPCTSTR 意思:是否设置成功 备注: *********************************************************************/ -BOOL HelpModule_Api_SetVersion(LPCTSTR lpszLocalFile, LPCTSTR lpszMsgBuffer, int nMsgLen) +bool HelpModule_Api_SetVersion(LPCXSTR lpszLocalFile, LPCXSTR lpszMsgBuffer, int nMsgLen) { //文件JSON Json::Value st_JsonRoot; @@ -119,25 +119,25 @@ BOOL HelpModule_Api_SetVersion(LPCTSTR lpszLocalFile, LPCTSTR lpszMsgBuffer, int delete pSt_JsonRemoteReader; pSt_JsonRemoteReader = NULL; - int nCount = 0; - TCHAR* ptszJsonFile = new TCHAR[1024 * 1024 * 10]; + size_t nCount = 0; + XCHAR* ptszJsonFile = new XCHAR[1024 * 1024 * 10]; if (NULL == ptszJsonFile) { return FALSE; } memset(ptszJsonFile, '\0', 1024 * 1024 * 10); - FILE* pSt_File = _tfopen(lpszLocalFile, _T("rb")); + FILE* pSt_File = _xtfopen(lpszLocalFile, _X("rb")); if (NULL == pSt_File) { delete[]ptszJsonFile; ptszJsonFile = NULL; return FALSE; } - while (TRUE) + while (true) { - TCHAR tszJsonMsg[2048]; + XCHAR tszJsonMsg[2048]; memset(tszJsonMsg, '\0', sizeof(tszJsonMsg)); - int nRet = fread(tszJsonMsg, sizeof(TCHAR), 2048, pSt_File); + size_t nRet = fread(tszJsonMsg, sizeof(XCHAR), 2048, pSt_File); if (nRet <= 0) { break; @@ -161,11 +161,11 @@ BOOL HelpModule_Api_SetVersion(LPCTSTR lpszLocalFile, LPCTSTR lpszMsgBuffer, int st_JsonLocalArray = st_JsonLocalRoot["FileList"]; for (unsigned int i = 0; i < st_JsonLocalArray.size(); i++) { - BOOL bIsFound = FALSE; + bool bIsFound = FALSE; Json::Value st_JsonRemoteArray = st_JsonRemoteRoot["UPList"]; for (unsigned int j = 0; j < st_JsonRemoteArray.size(); j++) { - if (0 == _tcscmp(st_JsonLocalArray[i]["ModuleCode"].asCString(), st_JsonRemoteArray[j]["ModuleCode"].asCString())) + if (0 == _tcsxcmp(st_JsonLocalArray[i]["ModuleCode"].asCString(), st_JsonRemoteArray[j]["ModuleCode"].asCString())) { Json::Value st_JsonObject; st_JsonObject["ModuleVersion"] = st_JsonRemoteArray[j]["ModuleVersion"].asUInt64(); @@ -173,22 +173,22 @@ BOOL HelpModule_Api_SetVersion(LPCTSTR lpszLocalFile, LPCTSTR lpszMsgBuffer, int st_JsonObject["ModuleName"] = st_JsonLocalArray[i]["ModuleName"].asCString(); st_JsonObject["ModulePath"] = st_JsonLocalArray[i]["ModulePath"].asCString(); st_JsonArray.append(st_JsonObject); - bIsFound = TRUE; + bIsFound = true; break; } } if (!bIsFound) { //没有找到更新的文件 - BOOL bIsDelFound = FALSE; + bool bIsDelFound = FALSE; Json::Value st_JsonDelArray; st_JsonDelArray = st_JsonRemoteRoot["DelList"]; //查找是否有删除的文件内容 for (unsigned int k = 0; k < st_JsonDelArray.size(); k++) { - if (0 == _tcscmp(st_JsonLocalArray[i]["ModuleName"].asCString(), st_JsonDelArray[k]["ModuleName"].asCString())) + if (0 == _tcsxcmp(st_JsonLocalArray[i]["ModuleName"].asCString(), st_JsonDelArray[k]["ModuleName"].asCString())) { - bIsDelFound = TRUE; + bIsDelFound = true; break; } } @@ -208,14 +208,14 @@ BOOL HelpModule_Api_SetVersion(LPCTSTR lpszLocalFile, LPCTSTR lpszMsgBuffer, int st_JsonRemoteArray = st_JsonRemoteRoot["UPList"]; for (unsigned int i = 0; i < st_JsonRemoteArray.size(); i++) { - BOOL bIsFound = FALSE; + bool bIsFound = FALSE; Json::Value st_JsonLocalArray = st_JsonLocalRoot["FileList"]; //查找远程元素是否在本地存在 for (unsigned int j = 0; j < st_JsonLocalArray.size(); j++) { - if (0 == _tcscmp(st_JsonRemoteArray[i]["ModuleCode"].asCString(), st_JsonLocalArray[j]["ModuleCode"].asCString())) + if (0 == _tcsxcmp(st_JsonRemoteArray[i]["ModuleCode"].asCString(), st_JsonLocalArray[j]["ModuleCode"].asCString())) { - bIsFound = TRUE; + bIsFound = true; break; } } @@ -233,7 +233,7 @@ BOOL HelpModule_Api_SetVersion(LPCTSTR lpszLocalFile, LPCTSTR lpszMsgBuffer, int st_JsonRoot["MainVersion"] = st_JsonRemoteRoot["MainVersion"].asInt64(); st_JsonRoot["FileList"] = st_JsonArray; - if (0 != _tremove(lpszLocalFile)) + if (0 != _xtremove(lpszLocalFile)) { return FALSE; } @@ -242,7 +242,7 @@ BOOL HelpModule_Api_SetVersion(LPCTSTR lpszLocalFile, LPCTSTR lpszMsgBuffer, int return FALSE; } - return TRUE; + return true; } /******************************************************************** 函数名称:HelpModule_Api_RunExec @@ -257,7 +257,7 @@ BOOL HelpModule_Api_SetVersion(LPCTSTR lpszLocalFile, LPCTSTR lpszMsgBuffer, int 意思:是否执行成功 备注: *********************************************************************/ -BOOL HelpModule_Api_RunExec(list* pStl_ListUPDate) +bool HelpModule_Api_RunExec(list* pStl_ListUPDate) { list::const_iterator stl_ListIterator = pStl_ListUPDate->begin(); for (; stl_ListIterator != pStl_ListUPDate->end(); stl_ListIterator++) @@ -266,17 +266,17 @@ BOOL HelpModule_Api_RunExec(list* pStl_ListUPDate) if (stl_ListIterator->bIsRun) { DWORD dwProcessID = 0; - TCHAR tszPath[1024]; + XCHAR tszPath[1024]; memset(tszPath, '\0', sizeof(tszPath)); //判断目录时候需要改变 - _stprintf_s(tszPath, _T("%s%s"), stl_ListIterator->st_LocalVersion.tszMoudelPath, stl_ListIterator->st_LocalVersion.tszMoudelName); + _xstprintf(tszPath, _X("%s%s"), stl_ListIterator->st_LocalVersion.tszMoudelPath, stl_ListIterator->st_LocalVersion.tszMoudelName); if (!SystemApi_Process_CreateProcess(&dwProcessID, tszPath)) { return FALSE; } } } - return TRUE; + return true; } /******************************************************************** 函数名称:HelpModule_Api_Clear @@ -296,7 +296,7 @@ BOOL HelpModule_Api_RunExec(list* pStl_ListUPDate) 意思:是否成功 备注: *********************************************************************/ -BOOL HelpModule_Api_Clear(LPCTSTR lpszRemoteJson, int nMsgLen) +bool HelpModule_Api_Clear(LPCXSTR lpszRemoteJson, int nMsgLen) { Json::Value st_JsonRoot; Json::Value st_JsonArray; @@ -315,10 +315,10 @@ BOOL HelpModule_Api_Clear(LPCTSTR lpszRemoteJson, int nMsgLen) st_JsonArray = st_JsonRoot["DelList"]; for (unsigned int i = 0; i < st_JsonArray.size(); i++) { - if (0 != _tremove(st_JsonArray[i].asCString())) + if (0 != _xtremove(st_JsonArray[i].asCString())) { return FALSE; } } - return TRUE; + return true; } \ No newline at end of file diff --git a/XEngine_APPClient/APPClient_UPDate/APPClient_UPMaker/APPClient_UPMaker.cpp b/XEngine_APPClient/APPClient_UPDate/APPClient_UPMaker/APPClient_UPMaker.cpp index 385eac714872cbcbd17815d2400b84665ada92b8..aa1e4499820fc6f6c6362db770bc6425409efee8 100644 --- a/XEngine_APPClient/APPClient_UPDate/APPClient_UPMaker/APPClient_UPMaker.cpp +++ b/XEngine_APPClient/APPClient_UPDate/APPClient_UPMaker/APPClient_UPMaker.cpp @@ -3,10 +3,14 @@ #include #include #pragma comment(lib,"Ws2_32.lib") -#pragma comment(lib,"../../../XEngine_Source/Debug/jsoncpp") #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib.lib") #pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemApi.lib") #pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient.lib") +#ifdef _WIN64 +#pragma comment(lib,"../../../XEngine_Source/x64/Debug/jsoncpp") +#else +#pragma comment(lib,"../../../XEngine_Source/Debug/jsoncpp") +#endif #endif #include #include @@ -29,8 +33,8 @@ using namespace std; typedef struct { - TCHAR tszFilePath[MAX_PATH]; - TCHAR tszFileName[MAX_PATH]; + XCHAR tszFilePath[MAX_PATH]; + XCHAR tszFileName[MAX_PATH]; }HELPMODULE_FILELIST, * LPHELPMODULE_FILELIST; /******************************************************************** 函数名称:HelpModule_Api_BuildVer @@ -65,10 +69,10 @@ typedef struct 意思:是否构建成功 备注:次函数可以帮助你快速构建一个可更新的文件列表,方便你快速使用我们的更新SDK *********************************************************************/ -BOOL HelpModule_Api_BuildVer(TCHAR* ptszLocalBuffer, TCHAR* ptszRemoteBuffer, int* pInt_LocalLen, int* pInt_RemoteLen, LPCTSTR lpszPath, LPCTSTR lpszDlUrl, BOOL bSubDir = TRUE) +bool HelpModule_Api_BuildVer(XCHAR* ptszLocalBuffer, XCHAR* ptszRemoteBuffer, int* pInt_LocalLen, int* pInt_RemoteLen, LPCXSTR lpszPath, LPCXSTR lpszDlUrl, bool bSubDir = true) { int nListCount; - CHAR** ppszListDir; + XCHAR** ppszListDir; list stl_ListFile; //枚举文件 if (!SystemApi_File_EnumFile(lpszPath, &ppszListDir, &nListCount, NULL, NULL, bSubDir, 1)) @@ -98,62 +102,60 @@ BOOL HelpModule_Api_BuildVer(TCHAR* ptszLocalBuffer, TCHAR* ptszRemoteBuffer, in Json::Value st_JsonRemoteOPtion; Json::StreamWriterBuilder st_JsonBuilder; //判断是否是自定义版本 - TCHAR tszTimer[64]; + XCHAR tszTimer[64]; XENGINE_LIBTIMER st_Timer; memset(tszTimer, '\0', sizeof(tszTimer)); memset(&st_Timer, '\0', sizeof(XENGINE_LIBTIMER)); BaseLib_OperatorTime_GetSysTime(&st_Timer); - _stprintf_s(tszTimer, _T("%04d%02d%02d%02d%02d%02d"), st_Timer.wYear, st_Timer.wMonth, st_Timer.wDay, st_Timer.wHour, st_Timer.wMinute, st_Timer.wSecond); - __int64x m_nFileVer = _ttoi64(tszTimer); + _xstprintf(tszTimer, _X("%04d%02d%02d%02d%02d%02d"), st_Timer.wYear, st_Timer.wMonth, st_Timer.wDay, st_Timer.wHour, st_Timer.wMinute, st_Timer.wSecond); + __int64x m_nFileVer = _ttxoll(tszTimer); st_JsonLocalRoot["MainVersion"] = (Json::UInt64)m_nFileVer; st_JsonRemoteOPtion["st_JsonRemoteOPtion"] = 0; st_JsonRemoteRoot["MainVersion"] = (Json::UInt64)m_nFileVer; - st_JsonRemoteRoot["MainDescription"] = _T("File UPData Des!"); + st_JsonRemoteRoot["MainDescription"] = _X("File UPData Des!"); st_JsonRemoteRoot["FileVerOPtion"] = st_JsonRemoteOPtion; //开始构架JSON文件列表 list::const_iterator stl_ListIterator = stl_ListFile.begin(); for (unsigned int i = 1; stl_ListIterator != stl_ListFile.end(); stl_ListIterator++, i++) { - TCHAR tszFileCode[64]; + XCHAR tszFileCode[64]; memset(tszFileCode, '\0', sizeof(tszFileCode)); - _stprintf_s(tszFileCode, _T("XYRYUPVERCODE%d"), i); + _xstprintf(tszFileCode, _X("XYRYUPVERCODE%d"), i); st_JsonLocalObject["ModuleVersion"] = (Json::UInt64)m_nFileVer; st_JsonLocalObject["ModuleCode"] = tszFileCode; st_JsonLocalObject["ModuleName"] = stl_ListIterator->tszFileName; st_JsonLocalObject["ModulePath"] = stl_ListIterator->tszFilePath; - TCHAR tszDlPath[1024]; + XCHAR tszDlPath[1024]; memset(tszDlPath, '\0', sizeof(tszDlPath)); //删除指定字符串 int nPathType = 0; BaseLib_OperatorString_GetPath(stl_ListIterator->tszFilePath, &nPathType); if (1 == nPathType) { - TCHAR tszDelPath[MAX_PATH]; - TCHAR tszSubPath[MAX_PATH]; + XCHAR tszDelPath[MAX_PATH]; + XCHAR tszSubPath[MAX_PATH]; memset(tszDelPath, '\0', MAX_PATH); memset(tszSubPath, '\0', MAX_PATH); - _tcscpy(tszDelPath, lpszPath); - _tcscpy(tszSubPath, stl_ListIterator->tszFilePath); + _tcsxcpy(tszDelPath, lpszPath); + _tcsxcpy(tszSubPath, stl_ListIterator->tszFilePath); - tszDelPath[_tcslen(tszDelPath) - 2] = '\0'; - BaseLib_OperatorString_DelLastForChar(tszDelPath, '\\'); - _tcscat(tszDelPath, "\\"); + tszDelPath[_tcsxlen(tszDelPath) - 1] = '\0'; BaseLib_OperatorString_DelSub(tszSubPath, tszDelPath); BaseLib_OperatorString_FixPath(tszSubPath, 2); - _stprintf_s(tszDlPath, _T("%s%s%s"), lpszDlUrl, tszSubPath, stl_ListIterator->tszFileName); + _xstprintf(tszDlPath, _X("%s%s%s"), lpszDlUrl, tszSubPath, stl_ListIterator->tszFileName); } else { - _stprintf_s(tszDlPath, _T("%s%s%s"), lpszDlUrl, stl_ListIterator->tszFilePath + 2, stl_ListIterator->tszFileName); + _xstprintf(tszDlPath, _X("%s%s%s"), lpszDlUrl, stl_ListIterator->tszFilePath + 2, stl_ListIterator->tszFileName); } st_JsonRemoteObject["ModuleRun"] = false; st_JsonRemoteObject["ModuleVersion"] = (Json::UInt64)m_nFileVer; @@ -175,7 +177,7 @@ BOOL HelpModule_Api_BuildVer(TCHAR* ptszLocalBuffer, TCHAR* ptszRemoteBuffer, in memcpy(ptszLocalBuffer, Json::writeString(st_JsonBuilder, st_JsonLocalRoot).c_str(), *pInt_LocalLen); memcpy(ptszRemoteBuffer, Json::writeString(st_JsonBuilder, st_JsonRemoteRoot).c_str(), *pInt_RemoteLen); - return TRUE; + return true; } int main(int argc, char** argv) @@ -184,28 +186,33 @@ int main(int argc, char** argv) WSADATA st_WSAData; WSAStartup(MAKEWORD(2, 2), &st_WSAData); #endif - LPCTSTR lpszPath = _T("D:\\libxengine\\*"); - LPCTSTR lpszLocalFile = _T("D:\\XEngine_Storage\\XEngine_APPClient\\Debug\\LocalFile.txt"); - LPCTSTR lpszPostFile = _T("http://192.168.1.8:5102/api?filename=xengine/upfile.txt&storeagekey=storagekey1"); - LPCTSTR lpszDownload = _T("http://192.168.1.8:5101/storagekey1/xengine/"); + //要更新的目录 + LPCXSTR lpszPath = _X("D:\\libxengine\\*"); + //更新列表 + LPCXSTR lpszLocalFile = _X("D:\\XEngine_Storage\\XEngine_APPClient\\Debug\\LocalFile.json"); + //更新文件下载地址 + LPCXSTR lpszDownload = _X("http://127.0.0.1:5101/storagekey1/xengine/"); + //自动提交到我们的服务器 + LPCXSTR lpszPostFile = _X("http://127.0.0.1:5102/api?filename=xengine/xengine.json&storeagekey=storagekey1"); + int nLocalLen = 1024 * 1024 * 10; int nRemoteLen = 1024 * 1024 * 10; - TCHAR* ptszLocalBuffer = (TCHAR*)malloc(nLocalLen); - TCHAR* ptszRemoteBuffer = (TCHAR*)malloc(nRemoteLen); + XCHAR* ptszLocalBuffer = (XCHAR*)malloc(nLocalLen); + XCHAR* ptszRemoteBuffer = (XCHAR*)malloc(nRemoteLen); memset(ptszLocalBuffer, '\0', nLocalLen); memset(ptszRemoteBuffer, '\0', nRemoteLen); if (!HelpModule_Api_BuildVer(ptszLocalBuffer, ptszRemoteBuffer, &nLocalLen, &nRemoteLen, lpszPath, lpszDownload)) { - printf("erron\n"); + _xtprintf("erron\n"); return 0; } SystemApi_File_SaveBuffToFile(lpszLocalFile, ptszLocalBuffer, nLocalLen); //如果服务器支持,可以直接把更新数据提交到服务器 - if (!APIClient_Http_Request(_T("POST"), lpszPostFile, ptszRemoteBuffer, NULL, NULL, &nRemoteLen)) + if (!APIClient_Http_Request(_X("POST"), lpszPostFile, ptszRemoteBuffer, NULL, NULL, &nRemoteLen)) { - printf("erron\n"); + _xtprintf("erron\n"); } #ifdef _MSC_BUILD WSACleanup(); diff --git a/XEngine_APPClient/APPClient_UPDate/APPClient_UPMaker/APPClient_UPMaker.vcxproj b/XEngine_APPClient/APPClient_UPDate/APPClient_UPMaker/APPClient_UPMaker.vcxproj index 00f34fef5acd5d7626287dc3b862298becf49862..e8598f066a624db7d1cefd1b75a6479a0e6622a7 100644 --- a/XEngine_APPClient/APPClient_UPDate/APPClient_UPMaker/APPClient_UPMaker.vcxproj +++ b/XEngine_APPClient/APPClient_UPDate/APPClient_UPMaker/APPClient_UPMaker.vcxproj @@ -74,6 +74,10 @@ $(XEngine_Include);../../../XEngine_Source/XEngine_ThirdPart/jsoncpp;$(IncludePath) $(XEngine_Lib32);$(LibraryPath) + + $(XEngine_Include);../../../XEngine_Source/XEngine_ThirdPart/jsoncpp;$(IncludePath) + $(XEngine_Lib64);$(LibraryPath) + Level3 @@ -106,7 +110,7 @@ Level3 true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + _DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true diff --git a/XEngine_APPClient/APPClient_UPDate/README.md b/XEngine_APPClient/APPClient_UPDate/README.md new file mode 100644 index 0000000000000000000000000000000000000000..a3ee78a7a168af2f2811b6e572f5367eea261a27 --- /dev/null +++ b/XEngine_APPClient/APPClient_UPDate/README.md @@ -0,0 +1,15 @@ +# APPClient_UPDate +此例子演示了如何使用软件更新程序 +此软件更新代码支持更新列表,更新说明,文件同步,更新完毕执行指定操作(删除,执行) +This example demonstrates how to use the software updater +the software update code support update list,update note,After the update is complete, perform the specified operation(delete,execution) + + +## APPClient_UPMaker +更新列表生成器,你应该先生成更新列表,修改main函数里面的变量值,然后运行程序即可 +update list create program.you have to build update list first,Modify the variable value in the main function,and then running the program + + +## APPClient_UPFile +更新工具,此软件可以更新的列表进行分析需要更新的文件 +update program,the software can be update file throught update list \ No newline at end of file diff --git a/XEngine_APPClient/APPClient_UPDownload/APPClient_UPDownload.cpp b/XEngine_APPClient/APPClient_UPDownload/APPClient_UPDownload.cpp index 12072624389676cda3c5971d218865f29fa31302..caad7f8e2dbc3ce0b1f44beb52e07840ea2da0e1 100644 --- a/XEngine_APPClient/APPClient_UPDownload/APPClient_UPDownload.cpp +++ b/XEngine_APPClient/APPClient_UPDownload/APPClient_UPDownload.cpp @@ -1,4 +1,4 @@ -#ifdef _WINDOWS +#ifdef _MSC_BUILD #include #include #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") @@ -6,7 +6,11 @@ #pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient") #pragma comment(lib,"Ws2_32") #pragma comment(lib,"../../XEngine_Source/Debug/jsoncpp") +#ifdef _WIN64 +#pragma comment(lib,"../../XEngine_Source/x64/Debug/jsoncpp") #else +#pragma comment(lib,"../../XEngine_Source/Debug/jsoncpp") +#endif #endif #include #include @@ -25,32 +29,32 @@ using namespace std; //需要优先配置XEngine -//WINDOWS使用VS2022 x86 debug 编译 +//WINDOWS使用VS2022 x86 或者 x64 debug 编译 //linux::g++ -std=c++17 -Wall -g APPClient_UPDownload.cpp -o APPClient_UPDownload.exe -I ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Core -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -L ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -lXEngine_BaseLib -lXEngine_OPenSsl -lNetHelp_APIClient -ljsoncpp //macos::g++ -std=c++17 -Wall -g APPClient_UPDownload.cpp -o APPClient_UPDownload.exe -I ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -L ../../XEngine_Source/XEngine_ThirdPart/jsoncpp -lXEngine_BaseLib -lXEngine_OPenSsl -lNetHelp_APIClient -ljsoncpp //上传文件 void File_UPLoad() { - LPCTSTR lpszUrl = _T("http://127.0.0.1:5102/api?filename=newfile4.txt&storeagekey=storagekey2"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5102/api?filename=newfile4.txt&storeagekey=storagekey2"); int nLen = 0; int nCode = 0; - TCHAR* ptszMsgBuffer = NULL; - TCHAR tszBaseBuffer[128]; - TCHAR tszHdrBuffer[MAX_PATH]; - TCHAR tszKeyBuffer[MAX_PATH]; - LPCTSTR lpszMsgBuffer = _T("01234"); - LPCTSTR lpszMsgBuffer2 = _T("56789"); + XCHAR* ptszMsgBuffer = NULL; + XCHAR tszBaseBuffer[128]; + XCHAR tszHdrBuffer[MAX_PATH]; + XCHAR tszKeyBuffer[MAX_PATH]; + LPCXSTR lpszMsgBuffer = _X("01234"); + LPCXSTR lpszMsgBuffer2 = _X("56789"); memset(tszBaseBuffer, '\0', sizeof(tszBaseBuffer)); memset(tszHdrBuffer, '\0', MAX_PATH); memset(tszKeyBuffer, '\0', MAX_PATH); OPenSsl_Help_BasicEncoder("123123aa", "123123", tszBaseBuffer); - _stprintf(tszHdrBuffer, _T("Range: bytes=0-5/10\r\nAuthorization: %s\r\n"), tszBaseBuffer); - if (!APIClient_Http_Request(_T("POST"), lpszUrl, lpszMsgBuffer, &nCode, &ptszMsgBuffer, &nLen, tszHdrBuffer)) + _xstprintf(tszHdrBuffer, _X("Range: bytes=0-5/10\r\nAuthorization: %s\r\n"), tszBaseBuffer); + if (!APIClient_Http_Request(_X("POST"), lpszUrl, lpszMsgBuffer, &nCode, &ptszMsgBuffer, &nLen, tszHdrBuffer)) { - printf("upload failed:%lX\n", APIClient_GetLastError()); + _xtprintf("upload failed:%lX\n", APIClient_GetLastError()); return; } JSONCPP_STRING st_JsonError; @@ -61,59 +65,59 @@ void File_UPLoad() { return; } - _tcscpy(tszKeyBuffer, st_JsonRoot["lpszBuckKey"].asCString()); + _tcsxcpy(tszKeyBuffer, st_JsonRoot["lpszBuckKey"].asCString()); - printf("upload:%d\n", nCode); + _xtprintf("upload:%d\n", nCode); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); //断点续传必须指定storagekey nLen = 0; memset(tszHdrBuffer, '\0', MAX_PATH); - _stprintf(tszHdrBuffer, _T("Range: bytes=5-10/10\r\nAuthorization: %s\r\nStorageKey: %s\r\n"), tszBaseBuffer, tszKeyBuffer); - if (!APIClient_Http_Request(_T("POST"), lpszUrl, lpszMsgBuffer2, &nCode, &ptszMsgBuffer, &nLen, tszHdrBuffer)) + _xstprintf(tszHdrBuffer, _X("Range: bytes=5-10/10\r\nAuthorization: %s\r\nStorageKey: %s\r\n"), tszBaseBuffer, tszKeyBuffer); + if (!APIClient_Http_Request(_X("POST"), lpszUrl, lpszMsgBuffer2, &nCode, &ptszMsgBuffer, &nLen, tszHdrBuffer)) { - printf("upload failed:%lX\n", APIClient_GetLastError()); + _xtprintf("upload failed:%lX\n", APIClient_GetLastError()); return; } - printf("upload:%d\n%s\n", nCode, ptszMsgBuffer); + _xtprintf("upload:%d\n%s\n", nCode, ptszMsgBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); } //下载文件 void File_Download() { - LPCTSTR lpszUrl = _T("http://192.168.1.8:5101/storagekey2/newfile4.txt"); + LPCXSTR lpszUrl = _X("http://127.0.0.1:5101/storagekey2/newfile4.txt"); int nLen = 0; - TCHAR* ptszMsgBuffer = NULL; - TCHAR tszBaseBuffer[128]; - TCHAR tszHdrBuffer[MAX_PATH]; + XCHAR* ptszMsgBuffer = NULL; + XCHAR tszBaseBuffer[128]; + XCHAR tszHdrBuffer[MAX_PATH]; memset(tszBaseBuffer, '\0', sizeof(tszBaseBuffer)); memset(tszHdrBuffer, '\0', MAX_PATH); OPenSsl_Help_BasicEncoder("123123aa", "123123", tszBaseBuffer); - _stprintf(tszHdrBuffer, _T("Range: bytes=0-5\r\nAuthorization: %s\r\n"), tszBaseBuffer); - if (!APIClient_Http_Request(_T("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen, tszHdrBuffer)) + _xstprintf(tszHdrBuffer, _X("Range: bytes=0-5\r\nAuthorization: %s\r\n"), tszBaseBuffer); + if (!APIClient_Http_Request(_X("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen, tszHdrBuffer)) { - printf("download failed:%lX\n", APIClient_GetLastError()); + _xtprintf("download failed:%lX\n", APIClient_GetLastError()); return; } - printf("download:%d,%s\n", nLen, ptszMsgBuffer); + _xtprintf("download:%d,%s\n", nLen, ptszMsgBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); memset(tszHdrBuffer, '\0', MAX_PATH); - _stprintf(tszHdrBuffer, _T("Range: bytes=5-10\r\nAuthorization: %s\r\n"), tszBaseBuffer); - if (!APIClient_Http_Request(_T("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen, tszHdrBuffer)) + _xstprintf(tszHdrBuffer, _X("Range: bytes=5-10\r\nAuthorization: %s\r\n"), tszBaseBuffer); + if (!APIClient_Http_Request(_X("GET"), lpszUrl, NULL, NULL, &ptszMsgBuffer, &nLen, tszHdrBuffer)) { - printf("download failed:%lX\n", APIClient_GetLastError()); + _xtprintf("download failed:%lX\n", APIClient_GetLastError()); return; } - printf("download:%d,%s\n", nLen, ptszMsgBuffer); + _xtprintf("download:%d,%s\n", nLen, ptszMsgBuffer); BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); } int main() { -#ifdef _WINDOWS +#ifdef _MSC_BUILD WSADATA st_WSAData; WSAStartup(MAKEWORD(2, 2), &st_WSAData); #endif diff --git a/XEngine_APPClient/APPClient_UPDownload/APPClient_UPDownload.vcxproj b/XEngine_APPClient/APPClient_UPDownload/APPClient_UPDownload.vcxproj index 28146c568aedf2d0c6436e44a03fd234dbb77f24..df6aa9bc670e5c3f8e6a49091e35582da4478ed9 100644 --- a/XEngine_APPClient/APPClient_UPDownload/APPClient_UPDownload.vcxproj +++ b/XEngine_APPClient/APPClient_UPDownload/APPClient_UPDownload.vcxproj @@ -80,6 +80,8 @@ true + $(XEngine_Include);../../XEngine_Source/XEngine_ThirdPart/jsoncpp;$(IncludePath) + $(XEngine_Lib64);$(LibraryPath) false @@ -116,7 +118,7 @@ Level3 true - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + _DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) true diff --git a/XEngine_APPClient/VSCopy_x64.bat b/XEngine_APPClient/VSCopy_x64.bat new file mode 100644 index 0000000000000000000000000000000000000000..9d38da458a2f805fb7ab776fa5ac9c6ba831eba7 --- /dev/null +++ b/XEngine_APPClient/VSCopy_x64.bat @@ -0,0 +1,11 @@ +copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_BaseLib.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_BaseLib\XEngine_Algorithm.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_Core\XEngine_OPenSsl.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_SystemSdk\XEngine_SystemApi.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIClient.dll" "./" + +copy /y "%XEngine_Lib64%\XEngine_HelpComponents\zlib1.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_LibEx\libcrypto-3-x64.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_LibEx\libssl-3.dll-x64" "./" +copy /y "%XEngine_Lib64%\XEngine_LibEx\libcurl.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_LibEx\nghttp2.dll" "./" \ No newline at end of file diff --git a/XEngine_Docment/Docment_en.docx b/XEngine_Docment/Docment_en.docx index 6286e4c264c9303875c58180c1b36a3a80624011..703d40c2d4df6f9510d83679606e06fabdca6191 100644 Binary files a/XEngine_Docment/Docment_en.docx and b/XEngine_Docment/Docment_en.docx differ diff --git a/XEngine_Docment/Docment_zh.docx b/XEngine_Docment/Docment_zh.docx index ef8972affba67c2876f6c816132e97964f523f70..1c58545f12c75478a4620444e02aea4ccdf8d4b3 100644 Binary files a/XEngine_Docment/Docment_zh.docx and b/XEngine_Docment/Docment_zh.docx differ diff --git a/XEngine_Release/XEngine_Config/XEngine_Config.json b/XEngine_Release/XEngine_Config/XEngine_Config.json index 3409d8bf62330cd83df4e4b29de44f824a36f055..0f4a3236e51aba504540b933c9b1638a3c52ccf2 100644 --- a/XEngine_Release/XEngine_Config/XEngine_Config.json +++ b/XEngine_Release/XEngine_Config/XEngine_Config.json @@ -36,25 +36,26 @@ "bUPHash":0, "nHashMode":2 }, + "XAuth":{ + "bUPAuth":false, + "bDLAuth":false, + "bCHAuth":true, + "tszUserList":"./XEngine_Config/UserList.txt" + }, "XProxy":{ - "XProxyAuth":{ - "bAuth":false, - "tszUserList":"./XEngine_Config/UserList.txt", - "tszAuthProxy":"" - }, - "XProxyPass":{ - "bUPGet":0, - "bDLGet":0, - "tszUPPass":"http://192.168.1.7:5200/Api/Pass/UPFile", - "tszDLPass":"http://192.168.1.7:5200/Api/Pass/UPFile" - } + "bUPPass":false, + "bDLPass":false, + "bAuthPass":false, + "tszUPPass":"http://192.168.1.7:5200/Api/Pass/UPFile", + "tszDLPass":"http://192.168.1.7:5200/Api/Pass/UPFile", + "tszAuthPass":"" }, "XLimit":{ "bLimitMode":true, "nMaxUPLoad":4096000, "nMaxDNLoad":4096000, - "nMaxUPConnect":1, - "nMaxDNConnect":1 + "nMaxUPConnect":2, + "nMaxDNConnect":2 }, "XP2xp":{ "nTime":2, @@ -70,6 +71,7 @@ "tszCertKey":"./XEngine_Cert/2_www.xyry.org.key" }, "XVer":[ + "3.11.0.1001 Build20230421", "3.10.0.1001 Build20230210", "3.9.1.1001 Build20221227", "3.9.0.1001 Build20221028", diff --git a/XEngine_SQLFile/XEngine_Storage.sql b/XEngine_SQLFile/XEngine_Storage.sql index fb6fdedd584c6dab6addf36d291b341e51159ac2..8a0e2381fe721688cb91c7dee5c3e5b13d5f4b44 100644 --- a/XEngine_SQLFile/XEngine_Storage.sql +++ b/XEngine_SQLFile/XEngine_Storage.sql @@ -1,17 +1,17 @@ /* Navicat Premium Data Transfer - Source Server : 192.168.1.12 + Source Server : QCloud Source Server Type : MySQL - Source Server Version : 80027 - Source Host : 192.168.1.12:3306 + Source Server Version : 80032 (8.0.32-0ubuntu0.22.04.2) + Source Host : 42.194.178.57:3306 Source Schema : XEngine_Storage Target Server Type : MySQL - Target Server Version : 80027 + Target Server Version : 80032 (8.0.32-0ubuntu0.22.04.2) File Encoding : 65001 - Date: 06/01/2022 10:45:33 + Date: 19/04/2023 13:46:21 */ SET NAMES utf8mb4; @@ -23,14 +23,14 @@ SET FOREIGN_KEY_CHECKS = 0; DROP TABLE IF EXISTS `XStorage_File`; CREATE TABLE `XStorage_File` ( `ID` int NOT NULL AUTO_INCREMENT COMMENT 'ID序号', - `BuckKey` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '路径KEY', - `FilePath` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件路径', - `FileName` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件名称', - `FileHash` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件HASH', - `FileUser` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件所属用户', + `BuckKey` varchar(260) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '路径KEY', + `FilePath` varchar(260) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件路径', + `FileName` varchar(260) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件名称', + `FileHash` varchar(260) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '文件HASH', + `FileUser` varchar(260) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '文件所属用户', `FileSize` bigint NOT NULL COMMENT '文件大小', `FileTime` datetime NOT NULL COMMENT '插入时间', PRIMARY KEY (`ID`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; +) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = DYNAMIC; -SET FOREIGN_KEY_CHECKS = 1; +SET FOREIGN_KEY_CHECKS = 1; \ No newline at end of file diff --git a/XEngine_SQLFile/XStorage_Create.sql b/XEngine_SQLFile/XStorage_Create.sql index 7d488f968605a0a18c64ea1804e2f741dc8e633f..79e9aa1c238bee55868e9a37d98e24c05910cd87 100644 --- a/XEngine_SQLFile/XStorage_Create.sql +++ b/XEngine_SQLFile/XStorage_Create.sql @@ -3,4 +3,4 @@ */ -CREATE DATABASE `XEngine_Storage` DEFAULT CHARACTER SET UTF8MB4 COLLATE utf8mb4_general_ci; \ No newline at end of file +CREATE DATABASE `XEngine_Storage` DEFAULT CHARACTER SET UTF8MB4 COLLATE utf8mb4_unicode_ci; \ No newline at end of file diff --git a/XEngine_Source/Makefile b/XEngine_Source/Makefile index b3216cc302489ffcd15210f136f50881df70754b..19e269b3bd73f2edd8213c620ea16d6372b3c85a 100644 --- a/XEngine_Source/Makefile +++ b/XEngine_Source/Makefile @@ -1,7 +1,7 @@ RELEASE = 0 UNICODE = 0 - -FLAGS = RELEASE=$(RELEASE) +PLATFORM=linux +FLAGS= THIRD_JSONCPP_PATH = ./XEngine_ThirdPart/jsoncpp @@ -13,35 +13,26 @@ BASE_PROTOCOL_PATH = ./StorageModule_Protocol APPSERVICE_STORAGE_PATH = ./XEngine_StorageApp -NETENGINE_LIB = libjsoncpp.so \ +XENGINE_MODULES = libjsoncpp.so \ libStorageModule_Database.so libStorageModule_Config.so libStorageModule_Session.so libStorageModule_APIHelp.so libStorageModule_Protocol.so \ XEngine_StorageApp.exe .PHONY:MakeAll -MakeAll:$(NETENGINE_LIB) +MakeAll:$(XENGINE_MODULES) libjsoncpp.so: - make -C $(THIRD_JSONCPP_PATH) $(FLAGS) + make -C $(THIRD_JSONCPP_PATH) PLATFORM=$(PLATFORM) $(FLAGS) libStorageModule_Database.so: - make -C $(BASE_SQL_PATH) $(FLAGS) + make -C $(BASE_SQL_PATH) PLATFORM=$(PLATFORM) $(FLAGS) libStorageModule_Config.so: - make -C $(BASE_CONFIG_PATH) $(FLAGS) + make -C $(BASE_CONFIG_PATH) PLATFORM=$(PLATFORM) $(FLAGS) libStorageModule_Session.so: - make -C $(BASE_SESSION_PATH) $(FLAGS) + make -C $(BASE_SESSION_PATH) PLATFORM=$(PLATFORM) $(FLAGS) libStorageModule_APIHelp.so: - make -C $(BASE_APIHELP_PATH) $(FLAGS) + make -C $(BASE_APIHELP_PATH) PLATFORM=$(PLATFORM) $(FLAGS) libStorageModule_Protocol.so: - make -C $(BASE_PROTOCOL_PATH) $(FLAGS) + make -C $(BASE_PROTOCOL_PATH) PLATFORM=$(PLATFORM) $(FLAGS) XEngine_StorageApp.exe: - make -C $(APPSERVICE_STORAGE_PATH) $(FLAGS) - - -SetFlags_Install: - export FLAGS=InstallAll -InstallAll:SetFlags_Install $(NETENGINE_LIB) - -SetFlags_Clean: - export FLAGS=CleanAll -CleanAll:SetFlags_Clean $(NETENGINE_LIB) + make -C $(APPSERVICE_STORAGE_PATH) PLATFORM=$(PLATFORM) $(FLAGS) diff --git a/XEngine_Source/StorageModule_APIHelp/APIHelp_Api/APIHelp_Api.cpp b/XEngine_Source/StorageModule_APIHelp/APIHelp_Api/APIHelp_Api.cpp index f0975b20873ad88f41e3c47fa7e5c0fe1dc40cf6..8be3222032fd677f9a213aaeb882cd5cd850be80 100644 --- a/XEngine_Source/StorageModule_APIHelp/APIHelp_Api/APIHelp_Api.cpp +++ b/XEngine_Source/StorageModule_APIHelp/APIHelp_Api/APIHelp_Api.cpp @@ -50,34 +50,34 @@ CAPIHelp_Api::~CAPIHelp_Api() 意思:是否成功 备注: *********************************************************************/ -BOOL CAPIHelp_Api::APIHelp_Api_ProxyAuth(TCHAR* ptszUser, TCHAR* ptszPass, TCHAR** pptszListHdr, int nHdrCount) +bool CAPIHelp_Api::APIHelp_Api_ProxyAuth(XCHAR* ptszUser, XCHAR* ptszPass, XCHAR** pptszListHdr, int nHdrCount) { - APIHelp_IsErrorOccur = FALSE; + APIHelp_IsErrorOccur = false; int nAuthType = 0; int nAuthLen = MAX_PATH; - TCHAR tszAuthStr[MAX_PATH]; - TCHAR tszSDBuffer[1024]; + XCHAR tszAuthStr[MAX_PATH]; + XCHAR tszSDBuffer[1024]; memset(tszAuthStr, '\0', MAX_PATH); memset(tszSDBuffer, '\0', sizeof(tszSDBuffer)); //是否有验证信息 - if (!RfcComponents_HttpHelp_GetAuthInfo(&pptszListHdr, nHdrCount, tszAuthStr, &nAuthLen, &nAuthType)) + if (!HttpProtocol_ServerHelp_GetAuthInfo(&pptszListHdr, nHdrCount, tszAuthStr, &nAuthLen, &nAuthType)) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_NOTAUTH; - return FALSE; + return false; } //是否是BASIC if (1 != nAuthType) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_NOTSUPPORT; - return FALSE; + return false; } OPenSsl_Help_BasicDecoder(tszAuthStr, ptszUser, ptszPass); - return TRUE; + return true; } /******************************************************************** 函数名称:APIHelp_Api_RangeFile @@ -112,72 +112,72 @@ BOOL CAPIHelp_Api::APIHelp_Api_ProxyAuth(TCHAR* ptszUser, TCHAR* ptszPass, TCHAR 意思:是否成功 备注: *********************************************************************/ -BOOL CAPIHelp_Api::APIHelp_Api_RangeFile(int* pInt_SPos, int* pInt_EPos, __int64x* pInt_Count, TCHAR** pptszListHdr, int nHdrCount) +bool CAPIHelp_Api::APIHelp_Api_RangeFile(int* pInt_SPos, int* pInt_EPos, __int64x* pInt_Count, XCHAR** pptszListHdr, int nHdrCount) { - APIHelp_IsErrorOccur = FALSE; + APIHelp_IsErrorOccur = false; - BOOL bFound = FALSE; - LPCTSTR lpszRangeStr = _T("Range"); - LPCTSTR lpszLengthStr = _T("Content-Length"); - TCHAR tszKeyStr[128]; - TCHAR tszValueStr[128]; - TCHAR tszFieldStr[128]; + bool bFound = false; + LPCXSTR lpszRangeStr = _X("Range"); + LPCXSTR lpszLengthStr = _X("Content-Length"); + XCHAR tszKeyStr[128]; + XCHAR tszValueStr[128]; + XCHAR tszFieldStr[128]; memset(tszKeyStr, '\0', sizeof(tszKeyStr)); memset(tszValueStr, '\0', sizeof(tszValueStr)); memset(tszFieldStr, '\0', sizeof(tszFieldStr)); //是否有范围 - if (RfcComponents_HttpHelp_GetField(&pptszListHdr, nHdrCount, lpszRangeStr, tszFieldStr)) + if (HttpProtocol_ServerHelp_GetField(&pptszListHdr, nHdrCount, lpszRangeStr, tszFieldStr)) { //是否没有找到 int nBPos = 0; //某些时候有个BYTE - if (NULL != _tcsstr(tszFieldStr, _T("bytes="))) + if (NULL != _tcsxstr(tszFieldStr, _X("bytes="))) { nBPos = 6; } if (!BaseLib_OperatorString_GetKeyValue(tszFieldStr + nBPos, "-", tszKeyStr, tszValueStr)) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_PARSELEN; - return FALSE; + return false; } //得到 1/2 如果有的话 - TCHAR tszRangeEnd[128]; - TCHAR tszRangeCount[128]; + XCHAR tszRangeEnd[128]; + XCHAR tszRangeCount[128]; memset(tszRangeEnd, '\0', sizeof(tszRangeEnd)); memset(tszRangeCount, '\0', sizeof(tszRangeCount)); if (BaseLib_OperatorString_GetKeyValue(tszValueStr, "/", tszRangeEnd, tszRangeCount)) { - *pInt_SPos = _ttoi(tszKeyStr); - *pInt_EPos = _ttoi(tszRangeEnd); - *pInt_Count = _ttoi64(tszRangeCount); + *pInt_SPos = _ttxoi(tszKeyStr); + *pInt_EPos = _ttxoi(tszRangeEnd); + *pInt_Count = _ttxoll(tszRangeCount); } else { - *pInt_SPos = _ttoi(tszKeyStr); - *pInt_EPos = _ttoi(tszValueStr); + *pInt_SPos = _ttxoi(tszKeyStr); + *pInt_EPos = _ttxoi(tszValueStr); } - bFound = TRUE; + bFound = true; } if (0 == *pInt_Count) { - if (RfcComponents_HttpHelp_GetField(&pptszListHdr, nHdrCount, lpszLengthStr, tszFieldStr)) + if (HttpProtocol_ServerHelp_GetField(&pptszListHdr, nHdrCount, lpszLengthStr, tszFieldStr)) { - *pInt_Count = _ttoi64(tszFieldStr); - bFound = TRUE; + *pInt_Count = _ttxoll(tszFieldStr); + bFound = true; } } if (!bFound) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_NOTLENGTH; - return FALSE; + return false; } - return TRUE; + return true; } /******************************************************************** 函数名称:APIHelp_Api_VerHash @@ -202,27 +202,27 @@ BOOL CAPIHelp_Api::APIHelp_Api_RangeFile(int* pInt_SPos, int* pInt_EPos, __int64 意思:是否成功 备注: *********************************************************************/ -BOOL CAPIHelp_Api::APIHelp_Api_VerHash(LPCTSTR lpszFileHash, TCHAR** pptszListHdr, int nHdrCount) +bool CAPIHelp_Api::APIHelp_Api_VerHash(LPCXSTR lpszFileHash, XCHAR** pptszListHdr, int nHdrCount) { - APIHelp_IsErrorOccur = FALSE; + APIHelp_IsErrorOccur = false; - LPCTSTR lpszKeyStr = _T("FileHash"); - TCHAR tszValueStr[MAX_PATH]; + LPCXSTR lpszKeyStr = _X("FileHash"); + XCHAR tszValueStr[MAX_PATH]; memset(tszValueStr, '\0', MAX_PATH); - if (!RfcComponents_HttpHelp_GetField(&pptszListHdr, nHdrCount, lpszKeyStr, tszValueStr)) + if (!HttpProtocol_ServerHelp_GetField(&pptszListHdr, nHdrCount, lpszKeyStr, tszValueStr)) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_NOTHASH; - return FALSE; + return false; } - if (0 != _tcsnicmp(lpszFileHash, tszValueStr, _tcslen(lpszFileHash))) + if (0 != _tcsxnicmp(lpszFileHash, tszValueStr, _tcsxlen(lpszFileHash))) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_NOTMATCH; - return FALSE; + return false; } - return TRUE; + return true; } /******************************************************************** 函数名称:APIHelp_Api_GetIPInfo @@ -247,9 +247,9 @@ BOOL CAPIHelp_Api::APIHelp_Api_VerHash(LPCTSTR lpszFileHash, TCHAR** pptszListHd 意思:是否成功 备注: *********************************************************************/ -BOOL CAPIHelp_Api::APIHelp_Api_GetIPInfo(LPCTSTR lpszMsgBuffer, int nMsgLen, XENGINE_IPADDRINFO* pSt_IPAddrInfo) +bool CAPIHelp_Api::APIHelp_Api_GetIPInfo(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_IPADDRINFO* pSt_IPAddrInfo) { - APIHelp_IsErrorOccur = FALSE; + APIHelp_IsErrorOccur = false; Json::Value st_JsonRoot; JSONCPP_STRING st_JsonError; @@ -258,31 +258,31 @@ BOOL CAPIHelp_Api::APIHelp_Api_GetIPInfo(LPCTSTR lpszMsgBuffer, int nMsgLen, XEN std::unique_ptr const pSt_JsonReader(st_JsonBuilder.newCharReader()); if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + nMsgLen, &st_JsonRoot, &st_JsonError)) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_PARSE; - return FALSE; + return false; } //是否获取成功 if (0 != st_JsonRoot["code"].asInt()) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_CODE; - return FALSE; + return false; } Json::Value st_JsonObject = st_JsonRoot["data"]; - _tcscpy(pSt_IPAddrInfo->tszIPStart, st_JsonObject["tszIPStart"].asCString()); - _tcscpy(pSt_IPAddrInfo->tszIPEnd, st_JsonObject["tszIPEnd"].asCString()); - _tcscpy(pSt_IPAddrInfo->tszIPAddress, st_JsonObject["tszIPAddress"].asCString()); - _tcscpy(pSt_IPAddrInfo->tszIPAddr, st_JsonObject["tszIPAddr"].asCString()); - _tcscpy(pSt_IPAddrInfo->tszIPCity, st_JsonObject["tszIPCity"].asCString()); - _tcscpy(pSt_IPAddrInfo->tszIPCountry, st_JsonObject["tszIPCountry"].asCString()); - _tcscpy(pSt_IPAddrInfo->tszIPCounty, st_JsonObject["tszIPCounty"].asCString()); - _tcscpy(pSt_IPAddrInfo->tszIPProvince, st_JsonObject["tszIPProvince"].asCString()); - _tcscpy(pSt_IPAddrInfo->tszIPISP, st_JsonObject["tszIPISP"].asCString()); - _tcscpy(pSt_IPAddrInfo->tszIPTime, st_JsonObject["tszIPTime"].asCString()); + _tcsxcpy(pSt_IPAddrInfo->tszIPStart, st_JsonObject["tszIPStart"].asCString()); + _tcsxcpy(pSt_IPAddrInfo->tszIPEnd, st_JsonObject["tszIPEnd"].asCString()); + _tcsxcpy(pSt_IPAddrInfo->tszIPAddress, st_JsonObject["tszIPAddress"].asCString()); + _tcsxcpy(pSt_IPAddrInfo->tszIPAddr, st_JsonObject["tszIPAddr"].asCString()); + _tcsxcpy(pSt_IPAddrInfo->tszIPCity, st_JsonObject["tszIPCity"].asCString()); + _tcsxcpy(pSt_IPAddrInfo->tszIPCountry, st_JsonObject["tszIPCountry"].asCString()); + _tcsxcpy(pSt_IPAddrInfo->tszIPCounty, st_JsonObject["tszIPCounty"].asCString()); + _tcsxcpy(pSt_IPAddrInfo->tszIPProvince, st_JsonObject["tszIPProvince"].asCString()); + _tcsxcpy(pSt_IPAddrInfo->tszIPISP, st_JsonObject["tszIPISP"].asCString()); + _tcsxcpy(pSt_IPAddrInfo->tszIPTime, st_JsonObject["tszIPTime"].asCString()); - return TRUE; + return true; } /******************************************************************** 函数名称:APIHelp_Api_UrlParse @@ -312,42 +312,42 @@ BOOL CAPIHelp_Api::APIHelp_Api_GetIPInfo(LPCTSTR lpszMsgBuffer, int nMsgLen, XEN 意思:是否成功 备注: *********************************************************************/ -BOOL CAPIHelp_Api::APIHelp_Api_UrlParse(TCHAR*** ppptszList, int nListCount, TCHAR* ptszFileName, TCHAR* ptszKeyName) +bool CAPIHelp_Api::APIHelp_Api_UrlParse(XCHAR*** ppptszList, int nListCount, XCHAR* ptszFileName, XCHAR* ptszKeyName) { - APIHelp_IsErrorOccur = FALSE; + APIHelp_IsErrorOccur = false; - LPCTSTR lpszHDRFile = _T("filename"); - LPCTSTR lpszHDRKey = _T("storeagekey"); + LPCXSTR lpszHDRFile = _X("filename"); + LPCXSTR lpszHDRKey = _X("storeagekey"); for (int i = 0; i < nListCount; i++) { - TCHAR tszKey[MAX_PATH]; - TCHAR tszValue[MAX_PATH]; + XCHAR tszKey[MAX_PATH]; + XCHAR tszValue[MAX_PATH]; memset(tszKey, '\0', MAX_PATH); memset(tszValue, '\0', MAX_PATH); - BaseLib_OperatorString_GetKeyValue((*ppptszList)[i], _T("="), tszKey, tszValue); + BaseLib_OperatorString_GetKeyValue((*ppptszList)[i], _X("="), tszKey, tszValue); - if (0 == _tcsnicmp(lpszHDRFile, tszKey, _tcslen(lpszHDRFile))) + if (0 == _tcsxnicmp(lpszHDRFile, tszKey, _tcsxlen(lpszHDRFile))) { //编码格式是utf8,需要转为ansi #ifdef _MSC_BUILD - TCHAR tszFileName[MAX_PATH]; + XCHAR tszFileName[MAX_PATH]; memset(tszFileName, '\0', MAX_PATH); - OPenSsl_Codec_UrlDeCodec(tszValue, _tcslen(tszValue), tszFileName); + OPenSsl_Codec_UrlDeCodec(tszValue, _tcsxlen(tszValue), tszFileName); - int nLen = _tcslen(tszFileName); + int nLen = _tcsxlen(tszFileName); BaseLib_OperatorCharset_UTFToAnsi(tszFileName, ptszFileName, &nLen); #else - OPenSsl_Codec_UrlDeCodec(tszValue, _tcslen(tszValue), ptszFileName); + OPenSsl_Codec_UrlDeCodec(tszValue, _tcsxlen(tszValue), ptszFileName); #endif } - else if (0 == _tcsnicmp(lpszHDRKey, tszKey, _tcslen(lpszHDRKey))) + else if (0 == _tcsxnicmp(lpszHDRKey, tszKey, _tcsxlen(lpszHDRKey))) { - _tcscpy(ptszKeyName, tszValue); + _tcsxcpy(ptszKeyName, tszValue); } } - return TRUE; + return true; } \ No newline at end of file diff --git a/XEngine_Source/StorageModule_APIHelp/APIHelp_Api/APIHelp_Api.h b/XEngine_Source/StorageModule_APIHelp/APIHelp_Api/APIHelp_Api.h index d1f079926d26b2e62086c480e4a163848dcfd6c1..8dc88ff9c5d71ebd7a051eff1c212fa849b81171 100644 --- a/XEngine_Source/StorageModule_APIHelp/APIHelp_Api/APIHelp_Api.h +++ b/XEngine_Source/StorageModule_APIHelp/APIHelp_Api/APIHelp_Api.h @@ -18,11 +18,11 @@ public: CAPIHelp_Api(); ~CAPIHelp_Api(); public: - BOOL APIHelp_Api_ProxyAuth(TCHAR* ptszUser, TCHAR* ptszPass, TCHAR** pptszListHdr, int nHdrCount); - BOOL APIHelp_Api_RangeFile(int* pInt_SPos, int* pInt_EPos, __int64x* pInt_Count, TCHAR** pptszListHdr, int nHdrCount); - BOOL APIHelp_Api_VerHash(LPCTSTR lpszFileHash, TCHAR** pptszListHdr, int nHdrCount); - BOOL APIHelp_Api_GetIPInfo(LPCTSTR lpszMsgBuffer, int nMsgLen, XENGINE_IPADDRINFO* pSt_IPAddrInfo); - BOOL APIHelp_Api_UrlParse(TCHAR*** ppptszList, int nListCount, TCHAR* ptszFileName, TCHAR* ptszKeyName); + bool APIHelp_Api_ProxyAuth(XCHAR* ptszUser, XCHAR* ptszPass, XCHAR** pptszListHdr, int nHdrCount); + bool APIHelp_Api_RangeFile(int* pInt_SPos, int* pInt_EPos, __int64x* pInt_Count, XCHAR** pptszListHdr, int nHdrCount); + bool APIHelp_Api_VerHash(LPCXSTR lpszFileHash, XCHAR** pptszListHdr, int nHdrCount); + bool APIHelp_Api_GetIPInfo(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_IPADDRINFO* pSt_IPAddrInfo); + bool APIHelp_Api_UrlParse(XCHAR*** ppptszList, int nListCount, XCHAR* ptszFileName, XCHAR* ptszKeyName); protected: private: }; \ No newline at end of file diff --git a/XEngine_Source/StorageModule_APIHelp/APIHelp_Define.h b/XEngine_Source/StorageModule_APIHelp/APIHelp_Define.h index 70010c6203a347d49c66b2c8568295c18314082d..0be916990ff317c9eb55065e82d3b4af0536ac93 100644 --- a/XEngine_Source/StorageModule_APIHelp/APIHelp_Define.h +++ b/XEngine_Source/StorageModule_APIHelp/APIHelp_Define.h @@ -12,13 +12,13 @@ *********************************************************************/ typedef struct { - TCHAR tszMsgBuffer[4096]; + XCHAR tszMsgBuffer[4096]; int nMsgLen; }APIHELP_LBFILEINFO; ////////////////////////////////////////////////////////////////////////// // 导出函数 ////////////////////////////////////////////////////////////////////////// -extern "C" DWORD StorageHelp_GetLastError(int* pInt_SysError = NULL); +extern "C" XLONG StorageHelp_GetLastError(int* pInt_SysError = NULL); /************************************************************************/ /* 分布式函数 */ /************************************************************************/ @@ -45,7 +45,7 @@ extern "C" DWORD StorageHelp_GetLastError(int* pInt_SysError = NULL); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL APIHelp_Distributed_RandomAddr(list* pStl_ListAddr, TCHAR* ptszAddr, int nMode); +extern "C" bool APIHelp_Distributed_RandomAddr(list* pStl_ListAddr, XCHAR* ptszAddr, int nMode); /******************************************************************** 函数名称:APIHelp_Distributed_FileList 函数功能:解析所有解析到的内容并且打包成指定结构 @@ -69,7 +69,7 @@ extern "C" BOOL APIHelp_Distributed_RandomAddr(list* pStl_ListAddr, TCHA 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL APIHelp_Distributed_FileList(list* pStl_ListParse, XSTORAGECORE_DBFILE*** pppSt_ListPacket, int* pInt_ListCount); +extern "C" bool APIHelp_Distributed_FileList(list* pStl_ListParse, XSTORAGECORE_DBFILE*** pppSt_ListPacket, int* pInt_ListCount); /******************************************************************** 函数名称:APIHelp_Distributed_DLStorage 函数功能:通过URLKEY得到一个对应下载地址 @@ -93,7 +93,7 @@ extern "C" BOOL APIHelp_Distributed_FileList(list* pStl_List 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL APIHelp_Distributed_DLStorage(LPCTSTR lpszMsgBuffer, list* pStl_ListBucket, XENGINE_STORAGEBUCKET* pSt_StorageBucket); +extern "C" bool APIHelp_Distributed_DLStorage(LPCXSTR lpszMsgBuffer, list* pStl_ListBucket, XENGINE_STORAGEBUCKET* pSt_StorageBucket); /******************************************************************** 函数名称:APIHelp_Distributed_UPStorage 函数功能:通过分布式存储列表获得一个存储地址 @@ -117,7 +117,7 @@ extern "C" BOOL APIHelp_Distributed_DLStorage(LPCTSTR lpszMsgBuffer, list* pStl_ListBucket, XENGINE_STORAGEBUCKET* pSt_StorageBucket, int nMode); +extern "C" bool APIHelp_Distributed_UPStorage(list* pStl_ListBucket, XENGINE_STORAGEBUCKET* pSt_StorageBucket, int nMode); /******************************************************************** 函数名称:APIHelp_Distributed_GetPathKey 函数功能:通过BUCKET名称查找对应路径 @@ -141,7 +141,7 @@ extern "C" BOOL APIHelp_Distributed_UPStorage(list* pStl_ 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL APIHelp_Distributed_GetPathKey(list* pStl_ListBucket, LPCTSTR lpszBuckKey, TCHAR* ptszFilePath); +extern "C" bool APIHelp_Distributed_GetPathKey(list* pStl_ListBucket, LPCXSTR lpszBuckKey, XCHAR* ptszFilePath); /************************************************************************/ /* 帮助函数 */ /************************************************************************/ @@ -173,7 +173,7 @@ extern "C" BOOL APIHelp_Distributed_GetPathKey(list* pStl 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL APIHelp_Api_ProxyAuth(TCHAR* ptszUser, TCHAR* ptszPass, TCHAR** pptszListHdr, int nHdrCount); +extern "C" bool APIHelp_Api_ProxyAuth(XCHAR* ptszUser, XCHAR* ptszPass, XCHAR** pptszListHdr, int nHdrCount); /******************************************************************** 函数名称:APIHelp_Api_RangeFile 函数功能:获取HTTP的范围 @@ -207,7 +207,7 @@ extern "C" BOOL APIHelp_Api_ProxyAuth(TCHAR* ptszUser, TCHAR* ptszPass, TCHAR** 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL APIHelp_Api_RangeFile(int* pInt_SPos, int* pInt_EPos, __int64x* pInt_Count, TCHAR** pptszListHdr, int nHdrCount); +extern "C" bool APIHelp_Api_RangeFile(int* pInt_SPos, int* pInt_EPos, __int64x* pInt_Count, XCHAR** pptszListHdr, int nHdrCount); /******************************************************************** 函数名称:APIHelp_Api_VerHash 函数功能:验证HASH值 @@ -231,7 +231,7 @@ extern "C" BOOL APIHelp_Api_RangeFile(int* pInt_SPos, int* pInt_EPos, __int64x* 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL APIHelp_Api_VerHash(LPCTSTR lpszFileHash, TCHAR** pptszListHdr, int nHdrCount); +extern "C" bool APIHelp_Api_VerHash(LPCXSTR lpszFileHash, XCHAR** pptszListHdr, int nHdrCount); /******************************************************************** 函数名称:APIHelp_Api_GetIPInfo 函数功能:获取IP信息 @@ -255,7 +255,7 @@ extern "C" BOOL APIHelp_Api_VerHash(LPCTSTR lpszFileHash, TCHAR** pptszListHdr, 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL APIHelp_Api_GetIPInfo(LPCTSTR lpszMsgBuffer, int nMsgLen, XENGINE_IPADDRINFO* pSt_IPAddrInfo); +extern "C" bool APIHelp_Api_GetIPInfo(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_IPADDRINFO* pSt_IPAddrInfo); /******************************************************************** 函数名称:APIHelp_Api_UrlParse 函数功能:URL参数解析函数 @@ -284,4 +284,4 @@ extern "C" BOOL APIHelp_Api_GetIPInfo(LPCTSTR lpszMsgBuffer, int nMsgLen, XENGIN 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL APIHelp_Api_UrlParse(TCHAR*** ppptszList, int nListCount, TCHAR* ptszFileName, TCHAR* ptszKeyName); \ No newline at end of file +extern "C" bool APIHelp_Api_UrlParse(XCHAR*** ppptszList, int nListCount, XCHAR* ptszFileName, XCHAR* ptszKeyName); \ No newline at end of file diff --git a/XEngine_Source/StorageModule_APIHelp/APIHelp_Distributed/APIHelp_Distributed.cpp b/XEngine_Source/StorageModule_APIHelp/APIHelp_Distributed/APIHelp_Distributed.cpp index 1addda39e2e68d93cee268e24b1dcb80a0e293d6..5e4e408adbc2668613bcd49c03268f011be1cb74 100644 --- a/XEngine_Source/StorageModule_APIHelp/APIHelp_Distributed/APIHelp_Distributed.cpp +++ b/XEngine_Source/StorageModule_APIHelp/APIHelp_Distributed/APIHelp_Distributed.cpp @@ -48,22 +48,22 @@ CAPIHelp_Distributed::~CAPIHelp_Distributed() 意思:是否成功 备注: *********************************************************************/ -BOOL CAPIHelp_Distributed::APIHelp_Distributed_RandomAddr(list* pStl_ListAddr, TCHAR* ptszAddr, int nMode) +bool CAPIHelp_Distributed::APIHelp_Distributed_RandomAddr(list* pStl_ListAddr, XCHAR* ptszAddr, int nMode) { - APIHelp_IsErrorOccur = FALSE; + APIHelp_IsErrorOccur = false; if (!pStl_ListAddr->empty()) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_PARAMENT; - return FALSE; + return false; } - BOOL bFound = FALSE; + bool bFound = false; if (1 == nMode) { XNETHANDLE xhToken = 0; - BaseLib_OperatorHandle_Create(&xhToken, 0, pStl_ListAddr->size(), FALSE); + BaseLib_OperatorHandle_Create(&xhToken, 0, pStl_ListAddr->size(), false); if (xhToken == pStl_ListAddr->size()) { xhToken--; @@ -73,8 +73,8 @@ BOOL CAPIHelp_Distributed::APIHelp_Distributed_RandomAddr(list* pStl_Lis { if (xhToken == i) { - bFound = TRUE; - _tcscpy(ptszAddr, stl_ListIterator->c_str()); + bFound = true; + _tcsxcpy(ptszAddr, stl_ListIterator->c_str()); break; } } @@ -90,8 +90,8 @@ BOOL CAPIHelp_Distributed::APIHelp_Distributed_RandomAddr(list* pStl_Lis { if (nRandomFront == i) { - bFound = TRUE; - _tcscpy(ptszAddr, stl_ListIterator->c_str()); + bFound = true; + _tcsxcpy(ptszAddr, stl_ListIterator->c_str()); break; } } @@ -107,8 +107,8 @@ BOOL CAPIHelp_Distributed::APIHelp_Distributed_RandomAddr(list* pStl_Lis { if (nRandomBack == i) { - bFound = TRUE; - _tcscpy(ptszAddr, stl_ListIterator->c_str()); + bFound = true; + _tcsxcpy(ptszAddr, stl_ListIterator->c_str()); break; } } @@ -116,11 +116,11 @@ BOOL CAPIHelp_Distributed::APIHelp_Distributed_RandomAddr(list* pStl_Lis if (!bFound) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_NOTFOUND; - return FALSE; + return false; } - return TRUE; + return true; } /******************************************************************** 函数名称:APIHelp_Distributed_FileList @@ -145,15 +145,15 @@ BOOL CAPIHelp_Distributed::APIHelp_Distributed_RandomAddr(list* pStl_Lis 意思:是否成功 备注: *********************************************************************/ -BOOL CAPIHelp_Distributed::APIHelp_Distributed_FileList(list* pStl_ListParse, XSTORAGECORE_DBFILE*** pppSt_ListPacket, int* pInt_ListCount) +bool CAPIHelp_Distributed::APIHelp_Distributed_FileList(list* pStl_ListParse, XSTORAGECORE_DBFILE*** pppSt_ListPacket, int* pInt_ListCount) { - APIHelp_IsErrorOccur = FALSE; + APIHelp_IsErrorOccur = false; if ((NULL == pStl_ListParse) || (NULL == pppSt_ListPacket)) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_PARAMENT; - return FALSE; + return false; } BaseLib_OperatorMemory_Malloc((XPPPMEM)pppSt_ListPacket, pStl_ListParse->size(), sizeof(XSTORAGECORE_DBFILE)); @@ -163,7 +163,7 @@ BOOL CAPIHelp_Distributed::APIHelp_Distributed_FileList(list APIHelp_Distributed_FileListParse(stl_ListIterator->tszMsgBuffer, stl_ListIterator->nMsgLen, (*pppSt_ListPacket)[i]); } *pInt_ListCount = pStl_ListParse->size(); - return TRUE; + return true; } /******************************************************************** 函数名称:APIHelp_Distributed_DLStorage @@ -188,56 +188,56 @@ BOOL CAPIHelp_Distributed::APIHelp_Distributed_FileList(list 意思:是否成功 备注: *********************************************************************/ -BOOL CAPIHelp_Distributed::APIHelp_Distributed_DLStorage(LPCTSTR lpszMsgBuffer, list* pStl_ListBucket, XENGINE_STORAGEBUCKET* pSt_StorageBucket) +bool CAPIHelp_Distributed::APIHelp_Distributed_DLStorage(LPCXSTR lpszMsgBuffer, list* pStl_ListBucket, XENGINE_STORAGEBUCKET* pSt_StorageBucket) { - APIHelp_IsErrorOccur = FALSE; + APIHelp_IsErrorOccur = false; if ((NULL == lpszMsgBuffer) || (NULL == pSt_StorageBucket)) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_PARAMENT; - return FALSE; + return false; } - BOOL bFound = FALSE; - TCHAR tszKeyStr[128]; + bool bFound = false; + XCHAR tszKeyStr[128]; memset(tszKeyStr, '\0', sizeof(tszKeyStr)); //获得key int i = 1; - int nLen = _tcslen(lpszMsgBuffer); + int nLen = _tcsxlen(lpszMsgBuffer); for (; i < nLen; i++) { if ('/' == lpszMsgBuffer[i]) { - bFound = TRUE; + bFound = true; memcpy(tszKeyStr, lpszMsgBuffer + 1, i - 1); break; } } if (!bFound) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_NOTFOUND; - return FALSE; + return false; } - bFound = FALSE; + bFound = false; //获得对应存储 for (auto stl_ListIterator = pStl_ListBucket->begin(); stl_ListIterator != pStl_ListBucket->end(); stl_ListIterator++) { - if (0 == _tcsncmp(tszKeyStr, stl_ListIterator->tszBuckKey, _tcslen(tszKeyStr))) + if (0 == _tcsxncmp(tszKeyStr, stl_ListIterator->tszBuckKey, _tcsxlen(tszKeyStr))) { - bFound = TRUE; + bFound = true; *pSt_StorageBucket = *stl_ListIterator; break; } } if (!bFound) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_NOTFOUND; - return FALSE; + return false; } - _tcscpy(pSt_StorageBucket->tszFileName, lpszMsgBuffer + i); - return TRUE; + _tcsxcpy(pSt_StorageBucket->tszFileName, lpszMsgBuffer + i); + return true; } /******************************************************************** 函数名称:APIHelp_Distributed_UPStorage @@ -262,35 +262,35 @@ BOOL CAPIHelp_Distributed::APIHelp_Distributed_DLStorage(LPCTSTR lpszMsgBuffer, 意思:是否成功 备注: *********************************************************************/ -BOOL CAPIHelp_Distributed::APIHelp_Distributed_UPStorage(list* pStl_ListBucket, XENGINE_STORAGEBUCKET* pSt_StorageBucket, int nMode) +bool CAPIHelp_Distributed::APIHelp_Distributed_UPStorage(list* pStl_ListBucket, XENGINE_STORAGEBUCKET* pSt_StorageBucket, int nMode) { - APIHelp_IsErrorOccur = FALSE; + APIHelp_IsErrorOccur = false; if ((NULL == pStl_ListBucket) || (NULL == pSt_StorageBucket)) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_PARAMENT; - return FALSE; + return false; } if (4 == nMode) { - BOOL bFound = FALSE; + bool bFound = false; //上传专用,由用户指定 list::const_iterator stl_ListIterator = pStl_ListBucket->begin(); for (; stl_ListIterator != pStl_ListBucket->end(); stl_ListIterator++) { - if (0 == _tcsnicmp(pSt_StorageBucket->tszBuckKey, stl_ListIterator->tszBuckKey, _tcslen(pSt_StorageBucket->tszBuckKey))) + if (0 == _tcsxnicmp(pSt_StorageBucket->tszBuckKey, stl_ListIterator->tszBuckKey, _tcsxlen(pSt_StorageBucket->tszBuckKey))) { - bFound = TRUE; + bFound = true; *pSt_StorageBucket = *stl_ListIterator; break; } } if (!bFound) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_NOTFOUND; - return FALSE; + return false; } } else @@ -320,31 +320,31 @@ BOOL CAPIHelp_Distributed::APIHelp_Distributed_UPStorage(listtszFilePath); - if (tszFilePath[_tcslen(tszFilePath) - 1] != '*') + _tcsxcpy(tszFilePath, pSt_StorageBucket->tszFilePath); + if (tszFilePath[_tcsxlen(tszFilePath) - 1] != '*') { int nPathType = 0; BaseLib_OperatorString_GetPath(tszFilePath, &nPathType); //判断是绝对路径还是相对路径 if (1 == nPathType) { - _tcscat(tszFilePath, _T("\\*")); + _tcsxcat(tszFilePath, _X("\\*")); } else if (2 == nPathType) { - _tcscat(tszFilePath, _T("/*")); + _tcsxcat(tszFilePath, _X("/*")); } } - SystemApi_File_EnumFile(tszFilePath, &ppListFile, &nListCount, NULL, NULL, TRUE, 1); + SystemApi_File_EnumFile(tszFilePath, &ppListFile, &nListCount, NULL, NULL, true, 1); for (int j = 0; j < nListCount; j++) { - struct _tstat64 st_FStat; - _tstat64(ppListFile[j], &st_FStat); + struct _xtstat st_FStat; + _xtstat(ppListFile[j], &st_FStat); nDirCount += st_FStat.st_size; } BaseLib_OperatorMemory_Free((XPPPMEM)&ppListFile, nListCount); @@ -360,16 +360,16 @@ BOOL CAPIHelp_Distributed::APIHelp_Distributed_UPStorage(list* pStl_ListBucket, LPCTSTR lpszBuckKey, TCHAR* ptszFilePath) +bool CAPIHelp_Distributed::APIHelp_Distributed_GetPathKey(list* pStl_ListBucket, LPCXSTR lpszBuckKey, XCHAR* ptszFilePath) { - APIHelp_IsErrorOccur = FALSE; + APIHelp_IsErrorOccur = false; if ((NULL == pStl_ListBucket) || (NULL == lpszBuckKey) || (NULL == ptszFilePath)) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_PARAMENT; - return FALSE; + return false; } - BOOL bFound = FALSE; + bool bFound = false; for (auto stl_ListIterator = pStl_ListBucket->begin(); stl_ListIterator != pStl_ListBucket->end(); stl_ListIterator++) { - if (0 == _tcsncmp(lpszBuckKey, stl_ListIterator->tszBuckKey, _tcslen(lpszBuckKey))) + if (0 == _tcsxncmp(lpszBuckKey, stl_ListIterator->tszBuckKey, _tcsxlen(lpszBuckKey))) { - _tcscpy(ptszFilePath, stl_ListIterator->tszFilePath); - bFound = TRUE; + _tcsxcpy(ptszFilePath, stl_ListIterator->tszFilePath); + bFound = true; break; } } if (!bFound) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_NOTFOUND; - return FALSE; + return false; } - return TRUE; + return true; } ////////////////////////////////////////////////////////////////////////// // 保护函数 @@ -507,9 +507,9 @@ BOOL CAPIHelp_Distributed::APIHelp_Distributed_GetPathKey(list const pSt_JsonReader(st_JsonBuilder.newCharReader()); if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + nMsgLen, &st_JsonRoot, &st_JsonError)) { - APIHelp_IsErrorOccur = TRUE; + APIHelp_IsErrorOccur = true; APIHelp_dwErrorCode = ERROR_STORAGE_MODULE_APIHELP_PARSE; - return FALSE; + return false; } //查找文件列表,一般只有一个 int nCount = st_JsonRoot["Count"].asInt(); @@ -529,17 +529,17 @@ BOOL CAPIHelp_Distributed::APIHelp_Distributed_FileListParse(LPCTSTR lpszMsgBuff for (int i = 0; i < nCount; i++) { pSt_DBFile->st_ProtocolFile.nFileSize = st_JsonArray[i]["nFileSize"].asInt64(); - _tcscpy(pSt_DBFile->tszTableName, st_JsonArray[i]["tszTableName"].asCString()); - _tcscpy(pSt_DBFile->tszBuckKey, st_JsonArray[i]["tszBuckKey"].asCString()); - _tcscpy(pSt_DBFile->st_ProtocolFile.tszFileUser, st_JsonArray[i]["tszFileUser"].asCString()); - _tcscpy(pSt_DBFile->st_ProtocolFile.tszFileHash, st_JsonArray[i]["tszFileHash"].asCString()); - _tcscpy(pSt_DBFile->st_ProtocolFile.tszFileName, st_JsonArray[i]["tszFileName"].asCString()); - _tcscpy(pSt_DBFile->st_ProtocolFile.tszFilePath, st_JsonArray[i]["tszFilePath"].asCString()); - _tcscpy(pSt_DBFile->st_ProtocolFile.tszFileTime, st_JsonArray[i]["tszFileTime"].asCString()); + _tcsxcpy(pSt_DBFile->tszTableName, st_JsonArray[i]["tszTableName"].asCString()); + _tcsxcpy(pSt_DBFile->tszBuckKey, st_JsonArray[i]["tszBuckKey"].asCString()); + _tcsxcpy(pSt_DBFile->st_ProtocolFile.tszFileUser, st_JsonArray[i]["tszFileUser"].asCString()); + _tcsxcpy(pSt_DBFile->st_ProtocolFile.tszFileHash, st_JsonArray[i]["tszFileHash"].asCString()); + _tcsxcpy(pSt_DBFile->st_ProtocolFile.tszFileName, st_JsonArray[i]["tszFileName"].asCString()); + _tcsxcpy(pSt_DBFile->st_ProtocolFile.tszFilePath, st_JsonArray[i]["tszFilePath"].asCString()); + _tcsxcpy(pSt_DBFile->st_ProtocolFile.tszFileTime, st_JsonArray[i]["tszFileTime"].asCString()); break; } - return TRUE; + return true; } /******************************************************************** 函数名称:APIHelp_Distributed_GetSize @@ -554,31 +554,31 @@ BOOL CAPIHelp_Distributed::APIHelp_Distributed_FileListParse(LPCTSTR lpszMsgBuff 意思:获取到的大小字节 备注: *********************************************************************/ -__int64u CAPIHelp_Distributed::APIHelp_Distributed_GetSize(LPCTSTR lpszMsgBuffer) +__int64u CAPIHelp_Distributed::APIHelp_Distributed_GetSize(LPCXSTR lpszMsgBuffer) { - APIHelp_IsErrorOccur = FALSE; + APIHelp_IsErrorOccur = false; - TCHAR tszSizeStr[64]; - TCHAR tszUnitStr[4]; + XCHAR tszSizeStr[64]; + XCHAR tszUnitStr[4]; memset(tszSizeStr, '\0', sizeof(tszSizeStr)); memset(tszUnitStr, '\0', sizeof(tszUnitStr)); //分别得到数字和单位 - memcpy(tszSizeStr, lpszMsgBuffer, _tcslen(lpszMsgBuffer) - 2); - tszUnitStr[0] = lpszMsgBuffer[_tcslen(lpszMsgBuffer) - 2]; - tszUnitStr[1] = lpszMsgBuffer[_tcslen(lpszMsgBuffer) - 1]; + memcpy(tszSizeStr, lpszMsgBuffer, _tcsxlen(lpszMsgBuffer) - 2); + tszUnitStr[0] = lpszMsgBuffer[_tcsxlen(lpszMsgBuffer) - 2]; + tszUnitStr[1] = lpszMsgBuffer[_tcsxlen(lpszMsgBuffer) - 1]; - __int64u nllSize = _ttoi64(tszSizeStr); + __int64u nllSize = _ttxoll(tszSizeStr); //得到单位大小 - if (0 == _tcsncmp(tszUnitStr, _T("KB"), 2)) + if (0 == _tcsxncmp(tszUnitStr, _X("KB"), 2)) { nllSize = nllSize * 1024; } - else if (0 == _tcsncmp(tszUnitStr, _T("MB"), 2)) + else if (0 == _tcsxncmp(tszUnitStr, _X("MB"), 2)) { nllSize = nllSize * 1024 * 1024; } - else if (0 == _tcsncmp(tszUnitStr, _T("GB"), 2)) + else if (0 == _tcsxncmp(tszUnitStr, _X("GB"), 2)) { nllSize = nllSize * 1024 * 1024 * 1024; } diff --git a/XEngine_Source/StorageModule_APIHelp/APIHelp_Distributed/APIHelp_Distributed.h b/XEngine_Source/StorageModule_APIHelp/APIHelp_Distributed/APIHelp_Distributed.h index 7cb8338314b9061f5992c8e33c2f50bcdab4a8fa..0badcfe524322212f1809c6aa7eba633bf4633ac 100644 --- a/XEngine_Source/StorageModule_APIHelp/APIHelp_Distributed/APIHelp_Distributed.h +++ b/XEngine_Source/StorageModule_APIHelp/APIHelp_Distributed/APIHelp_Distributed.h @@ -18,14 +18,14 @@ public: CAPIHelp_Distributed(); ~CAPIHelp_Distributed(); public: - BOOL APIHelp_Distributed_RandomAddr(list* pStl_ListAddr, TCHAR* ptszAddr, int nMode); - BOOL APIHelp_Distributed_FileList(list* pStl_ListParse, XSTORAGECORE_DBFILE*** pppSt_ListPacket, int* pInt_ListCount); - BOOL APIHelp_Distributed_DLStorage(LPCTSTR lpszMsgBuffer, list* pStl_ListBucket, XENGINE_STORAGEBUCKET* pSt_StorageBucket); - BOOL APIHelp_Distributed_UPStorage(list* pStl_ListBucket, XENGINE_STORAGEBUCKET* pSt_StorageBucket, int nMode); - BOOL APIHelp_Distributed_GetPathKey(list* pStl_ListBucket, LPCTSTR lpszBuckKey, TCHAR* ptszFilePath); + bool APIHelp_Distributed_RandomAddr(list* pStl_ListAddr, XCHAR* ptszAddr, int nMode); + bool APIHelp_Distributed_FileList(list* pStl_ListParse, XSTORAGECORE_DBFILE*** pppSt_ListPacket, int* pInt_ListCount); + bool APIHelp_Distributed_DLStorage(LPCXSTR lpszMsgBuffer, list* pStl_ListBucket, XENGINE_STORAGEBUCKET* pSt_StorageBucket); + bool APIHelp_Distributed_UPStorage(list* pStl_ListBucket, XENGINE_STORAGEBUCKET* pSt_StorageBucket, int nMode); + bool APIHelp_Distributed_GetPathKey(list* pStl_ListBucket, LPCXSTR lpszBuckKey, XCHAR* ptszFilePath); protected: - BOOL APIHelp_Distributed_FileListParse(LPCTSTR lpszMsgBuffer, int nMsgLen, XSTORAGECORE_DBFILE* pSt_DBFile); - __int64u APIHelp_Distributed_GetSize(LPCTSTR lpszMsgBuffer); + bool APIHelp_Distributed_FileListParse(LPCXSTR lpszMsgBuffer, int nMsgLen, XSTORAGECORE_DBFILE* pSt_DBFile); + __int64u APIHelp_Distributed_GetSize(LPCXSTR lpszMsgBuffer); private: unsigned int nRandomFront; unsigned int nRandomBack; diff --git a/XEngine_Source/StorageModule_APIHelp/Makefile b/XEngine_Source/StorageModule_APIHelp/Makefile index 5a1d7a2461f7b8098d88ae1ff47d7be52bef6678..fb3a65935a84fce1b3fd2364603c052eeebe988b 100644 --- a/XEngine_Source/StorageModule_APIHelp/Makefile +++ b/XEngine_Source/StorageModule_APIHelp/Makefile @@ -1,30 +1,23 @@ CC = g++ -Wall -std=c++17 -fPIC -SHAREFLAG = -shared -SHAREDLL = so +PLATFORM = linux +PLATVER = +PLATDIR = +FILEEXT = +LIBFLAG = RELEASE = 0 UNICODE = 0 -INCLUDE = -I ./ -I ../XEngine_ThirdPart/jsoncpp -LOADBIN = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Core -L /usr/local/lib/XEngine_Release/XEngine_RfcComponents -L /usr/local/lib/XEngine_Release/XEngine_SystemSdk -L ../XEngine_ThirdPart/jsoncpp -LIB = -lXEngine_BaseLib -lXEngine_OPenSsl -lRfcComponents_HttpServer -lXEngine_SystemApi -ljsoncpp -LIBEX = -ldl -lpthread -LOADSO = -Wl,-rpath=./,--disable-new-dtags -LIBINCLUDE = APIHelp_Distributed.o APIHelp_Api.o pch.o - -ifeq ($(shell uname),Darwin) - SHAREDLL = dylib - SHAREFLAG = -dynamiclib - LOADSO = -else - SHAREDLL = so - SHAREFLAG = -shared -endif +LOADHDR = -I ./ -I ../XEngine_ThirdPart/jsoncpp +LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Core -L /usr/local/lib/XEngine_Release/XEngine_RfcComponents -L /usr/local/lib/XEngine_Release/XEngine_SystemSdk -L ../XEngine_ThirdPart/jsoncpp +LIB = -lXEngine_BaseLib -lXEngine_OPenSsl -lRfcComponents_HttpProtocol -lXEngine_SystemApi -ljsoncpp +LIBEX = +OBJECTS = APIHelp_Distributed.o APIHelp_Api.o pch.o ifeq ($(RELEASE),1) -FLAGS = -c -O2 +FLAGS = -c DEBUG = else -FLAGS = -c -DEBUG = -g +FLAGS = -c -lc_p +DEBUG = -g -pg endif ifeq ($(UNICODE),1) @@ -33,26 +26,47 @@ else UNICODE = endif +ifeq ($(PLATFORM),linux) + ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release)) + PLATVER = -D __CENTOS__ + PLATDIR = XEngine_Linux/Centos + else + PLATVER = -D __UBUNTU__ + PLATDIR = XEngine_Linux/Ubuntu + endif + FILEEXT = so + LIBFLAG = -shared + LIBEX = -lpthread -lrt -ldl + LOADBIN = -Wl,-rpath=./,--disable-new-dtags +else ifeq ($(PLATFORM),mac) + CC += -Wno-deprecated-declarations + PLATVER = -D __MACOS__ + PLATDIR = XEngine_Mac + FILEEXT = dylib + LIBFLAG = -dynamiclib + LIBEX = -lpthread -ldl + LOADBIN = -Wl,-rpath,@loader_path/./ +endif -all:$(LIBINCLUDE) - $(CC) $(DEBUG) $(LIBINCLUDE) -o libStorageModule_APIHelp.$(SHAREDLL) $(SHAREFLAG) -fPIC $(LOADBIN) $(LIB) $(LIBEX) $(LOADSO) +all:$(OBJECTS) + $(CC) $(DEBUG) $(OBJECTS) -o libStorageModule_APIHelp.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN) APIHelp_Distributed.o:./APIHelp_Distributed/APIHelp_Distributed.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(INCLUDE) ./APIHelp_Distributed/APIHelp_Distributed.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./APIHelp_Distributed/APIHelp_Distributed.cpp APIHelp_Api.o:./APIHelp_Api/APIHelp_Api.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(INCLUDE) ./APIHelp_Api/APIHelp_Api.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./APIHelp_Api/APIHelp_Api.cpp pch.o:./pch.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(INCLUDE) ./pch.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./pch.cpp InstallAll:InstallSo -InstallSo:./libStorageModule_APIHelp.$(SHAREDLL) - cp ./libStorageModule_APIHelp.$(SHAREDLL) ../../XEngine_Release/libStorageModule_APIHelp.$(SHAREDLL) +InstallSo:./libStorageModule_APIHelp.$(FILEEXT) + cp ./libStorageModule_APIHelp.$(FILEEXT) ../../XEngine_Release/libStorageModule_APIHelp.$(FILEEXT) CleanAll:CleanObj CleanMk CleanObj: rm *.o CleanMk: - rm *.$(SHAREDLL) + rm *.$(FILEEXT) diff --git a/XEngine_Source/StorageModule_APIHelp/dllmain.cpp b/XEngine_Source/StorageModule_APIHelp/dllmain.cpp index daed8c8f7ac50ca1466016a0529648d18125a7e7..594ff2123d474b129bb2014fb572f03c9741bf0b 100644 --- a/XEngine_Source/StorageModule_APIHelp/dllmain.cpp +++ b/XEngine_Source/StorageModule_APIHelp/dllmain.cpp @@ -1,9 +1,9 @@ // dllmain.cpp : 定义 DLL 应用程序的入口点。 #include "pch.h" -BOOL APIENTRY DllMain( HMODULE hModule, - DWORD ul_reason_for_call, - LPVOID lpReserved +bool APIENTRY DllMain( HMODULE hModule, + XLONG ul_reason_for_call, + XPVOID lpReserved ) { switch (ul_reason_for_call) @@ -14,6 +14,6 @@ BOOL APIENTRY DllMain( HMODULE hModule, case DLL_PROCESS_DETACH: break; } - return TRUE; + return true; } diff --git a/XEngine_Source/StorageModule_APIHelp/pch.cpp b/XEngine_Source/StorageModule_APIHelp/pch.cpp index 85b5414abbbc27c947d766124ebbbf9b0ed7dd44..e1529ab25e2e855f6c290d925d3de2f61ba15194 100644 --- a/XEngine_Source/StorageModule_APIHelp/pch.cpp +++ b/XEngine_Source/StorageModule_APIHelp/pch.cpp @@ -12,15 +12,15 @@ // Purpose: 导出函数实现 // History: *********************************************************************/ -BOOL APIHelp_IsErrorOccur = FALSE; -DWORD APIHelp_dwErrorCode = 0; +bool APIHelp_IsErrorOccur = false; +XLONG APIHelp_dwErrorCode = 0; ////////////////////////////////////////////////////////////////////////// CAPIHelp_Distributed m_APIDistributed; CAPIHelp_Api m_APIHelp; ////////////////////////////////////////////////////////////////////////// // 导出函数 ////////////////////////////////////////////////////////////////////////// -extern "C" DWORD StorageHelp_GetLastError(int* pInt_SysError) +extern "C" XLONG StorageHelp_GetLastError(int* pInt_SysError) { if (NULL != pInt_SysError) { @@ -31,46 +31,46 @@ extern "C" DWORD StorageHelp_GetLastError(int* pInt_SysError) /************************************************************************/ /* */ /************************************************************************/ -extern "C" BOOL APIHelp_Distributed_RandomAddr(list*pStl_ListAddr, TCHAR * ptszAddr, int nMode) +extern "C" bool APIHelp_Distributed_RandomAddr(list*pStl_ListAddr, XCHAR * ptszAddr, int nMode) { return m_APIDistributed.APIHelp_Distributed_RandomAddr(pStl_ListAddr, ptszAddr, nMode); } -extern "C" BOOL APIHelp_Distributed_FileList(list*pStl_ListParse, XSTORAGECORE_DBFILE * **pppSt_ListPacket, int* pInt_ListCount) +extern "C" bool APIHelp_Distributed_FileList(list*pStl_ListParse, XSTORAGECORE_DBFILE * **pppSt_ListPacket, int* pInt_ListCount) { return m_APIDistributed.APIHelp_Distributed_FileList(pStl_ListParse, pppSt_ListPacket, pInt_ListCount); } -extern "C" BOOL APIHelp_Distributed_DLStorage(LPCTSTR lpszMsgBuffer, list*pStl_ListBucket, XENGINE_STORAGEBUCKET * pSt_StorageBucket) +extern "C" bool APIHelp_Distributed_DLStorage(LPCXSTR lpszMsgBuffer, list*pStl_ListBucket, XENGINE_STORAGEBUCKET * pSt_StorageBucket) { return m_APIDistributed.APIHelp_Distributed_DLStorage(lpszMsgBuffer, pStl_ListBucket, pSt_StorageBucket); } -extern "C" BOOL APIHelp_Distributed_UPStorage(list*pStl_ListBucket, XENGINE_STORAGEBUCKET * pSt_StorageBucket, int nMode) +extern "C" bool APIHelp_Distributed_UPStorage(list*pStl_ListBucket, XENGINE_STORAGEBUCKET * pSt_StorageBucket, int nMode) { return m_APIDistributed.APIHelp_Distributed_UPStorage(pStl_ListBucket, pSt_StorageBucket, nMode); } -extern "C" BOOL APIHelp_Distributed_GetPathKey(list*pStl_ListBucket, LPCTSTR lpszBuckKey, TCHAR * ptszFilePath) +extern "C" bool APIHelp_Distributed_GetPathKey(list*pStl_ListBucket, LPCXSTR lpszBuckKey, XCHAR * ptszFilePath) { return m_APIDistributed.APIHelp_Distributed_GetPathKey(pStl_ListBucket, lpszBuckKey, ptszFilePath); } /************************************************************************/ /* 帮助函数 */ /************************************************************************/ -extern "C" BOOL APIHelp_Api_ProxyAuth(TCHAR * ptszUser, TCHAR * ptszPass, TCHAR * *pptszListHdr, int nHdrCount) +extern "C" bool APIHelp_Api_ProxyAuth(XCHAR * ptszUser, XCHAR * ptszPass, XCHAR * *pptszListHdr, int nHdrCount) { return m_APIHelp.APIHelp_Api_ProxyAuth(ptszUser, ptszPass, pptszListHdr, nHdrCount); } -extern "C" BOOL APIHelp_Api_RangeFile(int* pInt_SPos, int* pInt_EPos, __int64x * pInt_Count, TCHAR * *pptszListHdr, int nHdrCount) +extern "C" bool APIHelp_Api_RangeFile(int* pInt_SPos, int* pInt_EPos, __int64x * pInt_Count, XCHAR * *pptszListHdr, int nHdrCount) { return m_APIHelp.APIHelp_Api_RangeFile(pInt_SPos, pInt_EPos, pInt_Count, pptszListHdr, nHdrCount); } -extern "C" BOOL APIHelp_Api_VerHash(LPCTSTR lpszFileHash, TCHAR * *pptszListHdr, int nHdrCount) +extern "C" bool APIHelp_Api_VerHash(LPCXSTR lpszFileHash, XCHAR * *pptszListHdr, int nHdrCount) { return m_APIHelp.APIHelp_Api_VerHash(lpszFileHash, pptszListHdr, nHdrCount); } -extern "C" BOOL APIHelp_Api_GetIPInfo(LPCTSTR lpszMsgBuffer, int nMsgLen, XENGINE_IPADDRINFO * pSt_IPAddrInfo) +extern "C" bool APIHelp_Api_GetIPInfo(LPCXSTR lpszMsgBuffer, int nMsgLen, XENGINE_IPADDRINFO * pSt_IPAddrInfo) { return m_APIHelp.APIHelp_Api_GetIPInfo(lpszMsgBuffer, nMsgLen, pSt_IPAddrInfo); } -extern "C" BOOL APIHelp_Api_UrlParse(TCHAR * **ppptszList, int nListCount, TCHAR * ptszFileName, TCHAR * ptszKeyName) +extern "C" bool APIHelp_Api_UrlParse(XCHAR * **ppptszList, int nListCount, XCHAR * ptszFileName, XCHAR * ptszKeyName) { return m_APIHelp.APIHelp_Api_UrlParse(ppptszList, nListCount, ptszFileName, ptszKeyName); } \ No newline at end of file diff --git a/XEngine_Source/StorageModule_APIHelp/pch.h b/XEngine_Source/StorageModule_APIHelp/pch.h index 05fb3f5d7e89d3924f132f8e9ee51506b9a778eb..aebe5be2ad50206ffb54e8d2c4057b834b9290a9 100644 --- a/XEngine_Source/StorageModule_APIHelp/pch.h +++ b/XEngine_Source/StorageModule_APIHelp/pch.h @@ -36,8 +36,8 @@ using namespace std; #include #include #include -#include -#include +#include +#include #include "../XStorage_Protocol.h" #include "../StorageModule_Config/Config_Define.h" #include "../StorageModule_Database/Database_Define.h" @@ -54,13 +54,13 @@ using namespace std; // Purpose: 公有头文件 // History: *********************************************************************/ -extern BOOL APIHelp_IsErrorOccur; -extern DWORD APIHelp_dwErrorCode; +extern bool APIHelp_IsErrorOccur; +extern XLONG APIHelp_dwErrorCode; #ifdef _WINDOWS #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib") #pragma comment(lib,"XEngine_Core/XEngine_OPenSsl") -#pragma comment(lib,"XEngine_RfcComponents/RfcComponents_HttpServer") +#pragma comment(lib,"XEngine_RfcComponents/RfcComponents_HttpProtocol") #pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemApi") #ifdef _DEBUG #ifdef _WIN64 diff --git a/XEngine_Source/StorageModule_Config/Config_Define.h b/XEngine_Source/StorageModule_Config/Config_Define.h index cb5b7a94008aaba6aa47b218c899257bbe17cf79..48250113b8fd5d138f8a9b238e776c2f221e0676 100644 --- a/XEngine_Source/StorageModule_Config/Config_Define.h +++ b/XEngine_Source/StorageModule_Config/Config_Define.h @@ -15,15 +15,15 @@ ////////////////////////////////////////////////////////////////////////// typedef struct tag_XEngine_ServerConfig { - TCHAR tszIPAddr[128]; - BOOL bDeamon; - BOOL bReuseraddr; + XCHAR tszIPAddr[128]; + bool bDeamon; + bool bReuseraddr; int nCenterPort; int nStorageDLPort; int nStorageUPPort; struct { - BOOL bReload; + bool bReload; }st_Memory; struct { @@ -36,7 +36,7 @@ typedef struct tag_XEngine_ServerConfig }st_XMax; struct { - BOOL bHBTime; + bool bHBTime; int nDBMonth; int nTimeCheck; int nCenterTimeOut; @@ -50,38 +50,38 @@ typedef struct tag_XEngine_ServerConfig }st_XLog; struct { - TCHAR tszSQLAddr[128]; - TCHAR tszSQLUser[128]; - TCHAR tszSQLPass[128]; - TCHAR tszDBName[128]; + XCHAR tszSQLAddr[128]; + XCHAR tszSQLUser[128]; + XCHAR tszSQLPass[128]; + XCHAR tszDBName[128]; int nSQLPort; - BOOL bEnable; + bool bEnable; }st_XSql; struct { - BOOL bResumable; - BOOL bUPHash; + bool bResumable; + bool bUPHash; int nHashMode; }st_XStorage; + struct + { + bool bUPAuth; + bool bDLAuth; + bool bCHAuth; + XCHAR tszUserList[MAX_PATH]; + }st_XAuth; struct { - struct - { - BOOL bAuth; - TCHAR tszAuthProxy[MAX_PATH]; - TCHAR tszUserList[MAX_PATH]; - }st_XProxyAuth; - struct - { - BOOL bUPPass; - BOOL bDLPass; - TCHAR tszUPPass[MAX_PATH]; - TCHAR tszDLPass[MAX_PATH]; - }st_XProxyPass; + bool bUPPass; + bool bDLPass; + bool bAuthPass; + XCHAR tszUPPass[MAX_PATH]; + XCHAR tszDLPass[MAX_PATH]; + XCHAR tszAuthPass[MAX_PATH]; }st_XProxy; struct { - BOOL bLimitMode; + bool bLimitMode; __int64x nMaxUPLoader; __int64x nMaxDNLoader; int nMaxUPConnect; @@ -95,12 +95,12 @@ typedef struct tag_XEngine_ServerConfig }st_P2xp; struct { - TCHAR tszCertChain[MAX_PATH]; - TCHAR tszCertKey[MAX_PATH]; + XCHAR tszCertChain[MAX_PATH]; + XCHAR tszCertKey[MAX_PATH]; int nSslType; - BOOL bDLEnable; - BOOL bUPEnable; - BOOL bCHEnable; + bool bDLEnable; + bool bUPEnable; + bool bCHEnable; }st_XCert; struct { @@ -110,12 +110,12 @@ typedef struct tag_XEngine_ServerConfig typedef struct { - TCHAR tszFilePath[MAX_PATH]; - TCHAR tszFileName[MAX_PATH]; - TCHAR tszBuckKey[128]; - TCHAR tszBuckSize[64]; + XCHAR tszFilePath[MAX_PATH]; + XCHAR tszFileName[MAX_PATH]; + XCHAR tszBuckKey[128]; + XCHAR tszBuckSize[64]; int nLevel; - BOOL bEnable; + bool bEnable; struct { bool bCreateDir; @@ -124,7 +124,7 @@ typedef struct }XENGINE_STORAGEBUCKET; typedef struct { - BOOL bDistributed; + bool bDistributed; struct { int nCenterMode; @@ -150,7 +150,7 @@ typedef struct ////////////////////////////////////////////////////////////////////////// // 导出函数定义 ////////////////////////////////////////////////////////////////////////// -extern "C" DWORD Config_GetLastError(int *pInt_ErrorCode = NULL); +extern "C" XLONG Config_GetLastError(int *pInt_ErrorCode = NULL); /************************************************************************/ /* 文件配置读取 */ /************************************************************************/ @@ -172,7 +172,7 @@ extern "C" DWORD Config_GetLastError(int *pInt_ErrorCode = NULL); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Config_Json_File(LPCTSTR lpszConfigFile, XENGINE_SERVERCONFIG * pSt_ServerConfig); +extern "C" bool Config_Json_File(LPCXSTR lpszConfigFile, XENGINE_SERVERCONFIG * pSt_ServerConfig); /******************************************************************** 函数名称:Config_Json_LoadBalance 函数功能:读取负载均衡配置文件 @@ -191,4 +191,4 @@ extern "C" BOOL Config_Json_File(LPCTSTR lpszConfigFile, XENGINE_SERVERCONFIG * 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Config_Json_LoadBalance(LPCTSTR lpszConfigFile, XENGINE_LBCONFIG * pSt_ServerConfig); \ No newline at end of file +extern "C" bool Config_Json_LoadBalance(LPCXSTR lpszConfigFile, XENGINE_LBCONFIG * pSt_ServerConfig); \ No newline at end of file diff --git a/XEngine_Source/StorageModule_Config/Config_Error.h b/XEngine_Source/StorageModule_Config/Config_Error.h index 556dabb580bb45ba0bf7611590e9ef10e3036f5f..0c5ec4323043c776f54f9a6079b5f93fb3349fbe 100644 --- a/XEngine_Source/StorageModule_Config/Config_Error.h +++ b/XEngine_Source/StorageModule_Config/Config_Error.h @@ -24,6 +24,7 @@ #define ERROR_XENGINE_BLOGIC_CONFIG_JSON_XPROXY 0x0020009 #define ERROR_XENGINE_BLOGIC_CONFIG_JSON_P2XP 0x002000A #define ERROR_XENGINE_BLOGIC_CONFIG_JSON_CERT 0x002000B +#define ERROR_XENGINE_BLOGIC_CONFIG_JSON_XAUTH 0x002000C #define ERROR_XENGINE_BLOGIC_CONFIG_JSON_LBDISTRIBUTED 0x0020010 #define ERROR_XENGINE_BLOGIC_CONFIG_JSON_LBLOCATION 0x0020011 diff --git a/XEngine_Source/StorageModule_Config/Config_Json/Config_Json.cpp b/XEngine_Source/StorageModule_Config/Config_Json/Config_Json.cpp index 87364329a741aa903d81a80a4669a569d9710fb1..b788020ed3e84fc3bf544b24aac3234d030102bb 100644 --- a/XEngine_Source/StorageModule_Config/Config_Json/Config_Json.cpp +++ b/XEngine_Source/StorageModule_Config/Config_Json/Config_Json.cpp @@ -40,29 +40,29 @@ CConfig_Json::~CConfig_Json() 意思:是否成功 备注: *********************************************************************/ -BOOL CConfig_Json::Config_Json_File(LPCTSTR lpszConfigFile, XENGINE_SERVERCONFIG* pSt_ServerConfig) +bool CConfig_Json::Config_Json_File(LPCXSTR lpszConfigFile, XENGINE_SERVERCONFIG* pSt_ServerConfig) { - Config_IsErrorOccur = FALSE; + Config_IsErrorOccur = false; if ((NULL == lpszConfigFile) || (NULL == pSt_ServerConfig)) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_PARAMENT; - return FALSE; + return false; } JSONCPP_STRING st_JsonError; Json::Value st_JsonRoot; Json::CharReaderBuilder st_JsonBuilder; - FILE* pSt_File = _tfopen(lpszConfigFile, _T("rb")); + FILE* pSt_File = _xtfopen(lpszConfigFile, _X("rb")); if (NULL == pSt_File) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_PARAMENT; - return FALSE; + return false; } int nCount = 0; - TCHAR tszMsgBuffer[4096]; + XCHAR tszMsgBuffer[4096]; while (1) { int nRet = fread(tszMsgBuffer + nCount, 1, 2048, pSt_File); @@ -77,11 +77,11 @@ BOOL CConfig_Json::Config_Json_File(LPCTSTR lpszConfigFile, XENGINE_SERVERCONFIG std::unique_ptr const pSt_JsonReader(st_JsonBuilder.newCharReader()); if (!pSt_JsonReader->parse(tszMsgBuffer, tszMsgBuffer + nCount, &st_JsonRoot, &st_JsonError)) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_PARSE; - return FALSE; + return false; } - _tcscpy(pSt_ServerConfig->tszIPAddr, st_JsonRoot["tszIPAddr"].asCString()); + _tcsxcpy(pSt_ServerConfig->tszIPAddr, st_JsonRoot["tszIPAddr"].asCString()); pSt_ServerConfig->bDeamon = st_JsonRoot["bDeamon"].asInt(); pSt_ServerConfig->nCenterPort = st_JsonRoot["nCenterPort"].asInt(); pSt_ServerConfig->nStorageDLPort = st_JsonRoot["nStorageDLPort"].asInt(); @@ -89,9 +89,9 @@ BOOL CConfig_Json::Config_Json_File(LPCTSTR lpszConfigFile, XENGINE_SERVERCONFIG if (st_JsonRoot["XMax"].empty() || (6 != st_JsonRoot["XMax"].size())) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_XMAX; - return FALSE; + return false; } Json::Value st_JsonXMax = st_JsonRoot["XMax"]; pSt_ServerConfig->st_XMax.nMaxClient = st_JsonXMax["MaxClient"].asInt(); @@ -103,9 +103,9 @@ BOOL CConfig_Json::Config_Json_File(LPCTSTR lpszConfigFile, XENGINE_SERVERCONFIG if (st_JsonRoot["XTime"].empty() || (5 != st_JsonRoot["XTime"].size())) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_XTIME; - return FALSE; + return false; } Json::Value st_JsonXTime = st_JsonRoot["XTime"]; pSt_ServerConfig->st_XTime.bHBTime = st_JsonXTime["bHBTime"].asInt(); @@ -116,9 +116,9 @@ BOOL CConfig_Json::Config_Json_File(LPCTSTR lpszConfigFile, XENGINE_SERVERCONFIG if (st_JsonRoot["XLog"].empty() || (3 != st_JsonRoot["XLog"].size())) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_XLOG; - return FALSE; + return false; } Json::Value st_JsonXLog = st_JsonRoot["XLog"]; pSt_ServerConfig->st_XLog.nMaxSize = st_JsonXLog["MaxSize"].asInt(); @@ -127,53 +127,60 @@ BOOL CConfig_Json::Config_Json_File(LPCTSTR lpszConfigFile, XENGINE_SERVERCONFIG if (st_JsonRoot["XSql"].empty() || (5 != st_JsonRoot["XSql"].size())) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_XSQL; - return FALSE; + return false; } Json::Value st_JsonXSql = st_JsonRoot["XSql"]; pSt_ServerConfig->st_XSql.bEnable = st_JsonXSql["SQLEnable"].asBool(); pSt_ServerConfig->st_XSql.nSQLPort = st_JsonXSql["SQLPort"].asInt(); - _tcscpy(pSt_ServerConfig->st_XSql.tszSQLAddr, st_JsonXSql["SQLAddr"].asCString()); - _tcscpy(pSt_ServerConfig->st_XSql.tszSQLUser, st_JsonXSql["SQLUser"].asCString()); - _tcscpy(pSt_ServerConfig->st_XSql.tszSQLPass, st_JsonXSql["SQLPass"].asCString()); + _tcsxcpy(pSt_ServerConfig->st_XSql.tszSQLAddr, st_JsonXSql["SQLAddr"].asCString()); + _tcsxcpy(pSt_ServerConfig->st_XSql.tszSQLUser, st_JsonXSql["SQLUser"].asCString()); + _tcsxcpy(pSt_ServerConfig->st_XSql.tszSQLPass, st_JsonXSql["SQLPass"].asCString()); if (st_JsonRoot["XStorage"].empty() || (3 != st_JsonRoot["XStorage"].size())) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_XSTORAGE; - return FALSE; + return false; } Json::Value st_JsonXStorage = st_JsonRoot["XStorage"]; pSt_ServerConfig->st_XStorage.nHashMode = st_JsonXStorage["nHashMode"].asInt(); pSt_ServerConfig->st_XStorage.bUPHash = st_JsonXStorage["bUPHash"].asInt(); pSt_ServerConfig->st_XStorage.bResumable = st_JsonXStorage["bResumable"].asInt(); - if (st_JsonRoot["XProxy"].empty() || (2 != st_JsonRoot["XProxy"].size())) + if (st_JsonRoot["XProxy"].empty() || (6 != st_JsonRoot["XProxy"].size())) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_XPROXY; - return FALSE; + return false; } Json::Value st_JsonXProxy = st_JsonRoot["XProxy"]; - Json::Value st_JsonXProxyAuth = st_JsonXProxy["XProxyAuth"]; - Json::Value st_JsonXProxyPass = st_JsonXProxy["XProxyPass"]; - - pSt_ServerConfig->st_XProxy.st_XProxyAuth.bAuth = st_JsonXProxyAuth["bAuth"].asInt(); - _tcscpy(pSt_ServerConfig->st_XProxy.st_XProxyAuth.tszAuthProxy, st_JsonXProxyAuth["tszAuthProxy"].asCString()); - _tcscpy(pSt_ServerConfig->st_XProxy.st_XProxyAuth.tszUserList, st_JsonXProxyAuth["tszUserList"].asCString()); - - pSt_ServerConfig->st_XProxy.st_XProxyPass.bDLPass = st_JsonXProxyPass["bDLGet"].asInt(); - pSt_ServerConfig->st_XProxy.st_XProxyPass.bUPPass = st_JsonXProxyPass["bUPGet"].asInt(); - _tcscpy(pSt_ServerConfig->st_XProxy.st_XProxyPass.tszDLPass, st_JsonXProxyPass["tszDLPass"].asCString()); - _tcscpy(pSt_ServerConfig->st_XProxy.st_XProxyPass.tszUPPass, st_JsonXProxyPass["tszUPPass"].asCString()); + pSt_ServerConfig->st_XProxy.bDLPass = st_JsonXProxy["bDLPass"].asBool(); + pSt_ServerConfig->st_XProxy.bUPPass = st_JsonXProxy["bUPPass"].asBool(); + pSt_ServerConfig->st_XProxy.bAuthPass = st_JsonXProxy["bAuthPass"].asBool(); + _tcsxcpy(pSt_ServerConfig->st_XProxy.tszDLPass, st_JsonXProxy["tszDLPass"].asCString()); + _tcsxcpy(pSt_ServerConfig->st_XProxy.tszUPPass, st_JsonXProxy["tszUPPass"].asCString()); + _tcsxcpy(pSt_ServerConfig->st_XProxy.tszAuthPass, st_JsonXProxy["tszAuthPass"].asCString()); + + if (st_JsonRoot["XAuth"].empty() || (4 != st_JsonRoot["XAuth"].size())) + { + Config_IsErrorOccur = true; + Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_XAUTH; + return false; + } + Json::Value st_JsonXAuth = st_JsonRoot["XAuth"]; + pSt_ServerConfig->st_XAuth.bUPAuth = st_JsonXAuth["bUPAuth"].asInt(); + pSt_ServerConfig->st_XAuth.bDLAuth = st_JsonXAuth["bDLAuth"].asInt(); + pSt_ServerConfig->st_XAuth.bCHAuth = st_JsonXAuth["bCHAuth"].asInt(); + _tcsxcpy(pSt_ServerConfig->st_XAuth.tszUserList, st_JsonXAuth["tszUserList"].asCString()); if (st_JsonRoot["XLimit"].empty() || (5 != st_JsonRoot["XLimit"].size())) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_XSTORAGE; - return FALSE; + return false; } Json::Value st_JsonXLimit = st_JsonRoot["XLimit"]; pSt_ServerConfig->st_XLimit.bLimitMode = st_JsonXLimit["bLimitMode"].asBool(); @@ -184,9 +191,9 @@ BOOL CConfig_Json::Config_Json_File(LPCTSTR lpszConfigFile, XENGINE_SERVERCONFIG if (st_JsonRoot["XP2xp"].empty() || (3 != st_JsonRoot["XP2xp"].size())) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_P2XP; - return FALSE; + return false; } Json::Value st_JsonP2xp = st_JsonRoot["XP2xp"]; pSt_ServerConfig->st_P2xp.nTime = st_JsonP2xp["nTime"].asInt(); @@ -195,9 +202,9 @@ BOOL CConfig_Json::Config_Json_File(LPCTSTR lpszConfigFile, XENGINE_SERVERCONFIG if (st_JsonRoot["XCert"].empty() || (6 != st_JsonRoot["XCert"].size())) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_CERT; - return FALSE; + return false; } Json::Value st_JsonCert = st_JsonRoot["XCert"]; pSt_ServerConfig->st_XCert.bDLEnable = st_JsonCert["bDLEnable"].asInt(); @@ -206,18 +213,18 @@ BOOL CConfig_Json::Config_Json_File(LPCTSTR lpszConfigFile, XENGINE_SERVERCONFIG pSt_ServerConfig->st_XCert.nSslType = st_JsonCert["nSslType"].asInt(); if (!st_JsonP2xp["tszCertChain"].isNull()) { - _tcscpy(pSt_ServerConfig->st_XCert.tszCertChain, st_JsonP2xp["tszCertChain"].asCString()); + _tcsxcpy(pSt_ServerConfig->st_XCert.tszCertChain, st_JsonP2xp["tszCertChain"].asCString()); } if (!st_JsonP2xp["tszCertKey"].isNull()) { - _tcscpy(pSt_ServerConfig->st_XCert.tszCertKey, st_JsonP2xp["tszCertKey"].asCString()); + _tcsxcpy(pSt_ServerConfig->st_XCert.tszCertKey, st_JsonP2xp["tszCertKey"].asCString()); } if (st_JsonRoot["XVer"].empty()) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_XVER; - return FALSE; + return false; } Json::Value st_JsonXVer = st_JsonRoot["XVer"]; @@ -226,7 +233,7 @@ BOOL CConfig_Json::Config_Json_File(LPCTSTR lpszConfigFile, XENGINE_SERVERCONFIG { pSt_ServerConfig->st_XVer.pStl_ListStorage->push_back(st_JsonXVer[i].asCString()); } - return TRUE; + return true; } /******************************************************************** 函数名称:Config_Json_LoadBalance @@ -246,29 +253,29 @@ BOOL CConfig_Json::Config_Json_File(LPCTSTR lpszConfigFile, XENGINE_SERVERCONFIG 意思:是否成功 备注: *********************************************************************/ -BOOL CConfig_Json::Config_Json_LoadBalance(LPCTSTR lpszConfigFile, XENGINE_LBCONFIG* pSt_ServerConfig) +bool CConfig_Json::Config_Json_LoadBalance(LPCXSTR lpszConfigFile, XENGINE_LBCONFIG* pSt_ServerConfig) { - Config_IsErrorOccur = FALSE; + Config_IsErrorOccur = false; if ((NULL == lpszConfigFile) || (NULL == pSt_ServerConfig)) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_PARAMENT; - return FALSE; + return false; } JSONCPP_STRING st_JsonError; Json::Value st_JsonRoot; Json::CharReaderBuilder st_JsonBuilder; - FILE* pSt_File = _tfopen(lpszConfigFile, _T("rb")); + FILE* pSt_File = _xtfopen(lpszConfigFile, _X("rb")); if (NULL == pSt_File) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_PARAMENT; - return FALSE; + return false; } int nCount = 0; - TCHAR tszMsgBuffer[4096]; + XCHAR tszMsgBuffer[4096]; while (1) { int nRet = fread(tszMsgBuffer + nCount, 1, 2048, pSt_File); @@ -283,17 +290,17 @@ BOOL CConfig_Json::Config_Json_LoadBalance(LPCTSTR lpszConfigFile, XENGINE_LBCON std::unique_ptr const pSt_JsonReader(st_JsonBuilder.newCharReader()); if (!pSt_JsonReader->parse(tszMsgBuffer, tszMsgBuffer + nCount, &st_JsonRoot, &st_JsonError)) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_PARSE; - return FALSE; + return false; } pSt_ServerConfig->bDistributed = st_JsonRoot["bDistributed"].asInt(); if (st_JsonRoot["LBDistributed"].empty() || (4 != st_JsonRoot["LBDistributed"].size())) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_LBDISTRIBUTED; - return FALSE; + return false; } Json::Value st_JsonLBDistributed = st_JsonRoot["LBDistributed"]; pSt_ServerConfig->st_LBDistributed.nCenterMode = st_JsonLBDistributed["nCenterMode"].asInt(); @@ -303,9 +310,9 @@ BOOL CConfig_Json::Config_Json_LoadBalance(LPCTSTR lpszConfigFile, XENGINE_LBCON if (st_JsonRoot["LBLocation"].empty() || (4 != st_JsonRoot["LBLocation"].size())) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_LBLOCATION; - return FALSE; + return false; } Json::Value st_JsonLBLocation = st_JsonRoot["LBLocation"]; pSt_ServerConfig->st_LBLocation.nCenterMode = st_JsonLBLocation["nCenterMode"].asInt(); @@ -315,9 +322,9 @@ BOOL CConfig_Json::Config_Json_LoadBalance(LPCTSTR lpszConfigFile, XENGINE_LBCON if (st_JsonRoot["LoadBalance"].empty() || (4 != st_JsonRoot["LoadBalance"].size())) { - Config_IsErrorOccur = TRUE; + Config_IsErrorOccur = true; Config_dwErrorCode = ERROR_XENGINE_BLOGIC_CONFIG_JSON_LAODBALANCE; - return FALSE; + return false; } Json::Value st_JsonLoadBalance = st_JsonRoot["LoadBalance"]; @@ -348,9 +355,9 @@ BOOL CConfig_Json::Config_Json_LoadBalance(LPCTSTR lpszConfigFile, XENGINE_LBCON st_Bucket.bEnable = st_JsonBucket[i]["bEnable"].asInt(); st_Bucket.nLevel = st_JsonBucket[i]["nLevel"].asInt(); - _tcscpy(st_Bucket.tszBuckSize, st_JsonBucket[i]["Size"].asCString()); - _tcscpy(st_Bucket.tszBuckKey, st_JsonBucket[i]["XEngine_Key"].asCString()); - _tcscpy(st_Bucket.tszFilePath, st_JsonBucket[i]["XEngine_Path"].asCString()); + _tcsxcpy(st_Bucket.tszBuckSize, st_JsonBucket[i]["Size"].asCString()); + _tcsxcpy(st_Bucket.tszBuckKey, st_JsonBucket[i]["XEngine_Key"].asCString()); + _tcsxcpy(st_Bucket.tszFilePath, st_JsonBucket[i]["XEngine_Path"].asCString()); Json::Value st_JsonPermission = st_JsonBucket[i]["PermissionFlags"]; st_Bucket.st_PermissionFlags.bCreateDir = st_JsonPermission["CreateDir"].asBool(); @@ -358,5 +365,5 @@ BOOL CConfig_Json::Config_Json_LoadBalance(LPCTSTR lpszConfigFile, XENGINE_LBCON pSt_ServerConfig->st_LoadBalance.pStl_ListBucket->push_back(st_Bucket); } - return TRUE; + return true; } \ No newline at end of file diff --git a/XEngine_Source/StorageModule_Config/Config_Json/Config_Json.h b/XEngine_Source/StorageModule_Config/Config_Json/Config_Json.h index 431d860380beab911dc6a02d73e7d682ac6cad91..2e57194bb675e2bf96c1552f7b6d4460677cdcda 100644 --- a/XEngine_Source/StorageModule_Config/Config_Json/Config_Json.h +++ b/XEngine_Source/StorageModule_Config/Config_Json/Config_Json.h @@ -17,6 +17,6 @@ public: CConfig_Json(); ~CConfig_Json(); public: - BOOL Config_Json_File(LPCTSTR lpszConfigFile, XENGINE_SERVERCONFIG* pSt_ServerConfig); - BOOL Config_Json_LoadBalance(LPCTSTR lpszConfigFile, XENGINE_LBCONFIG* pSt_ServerConfig); + bool Config_Json_File(LPCXSTR lpszConfigFile, XENGINE_SERVERCONFIG* pSt_ServerConfig); + bool Config_Json_LoadBalance(LPCXSTR lpszConfigFile, XENGINE_LBCONFIG* pSt_ServerConfig); }; diff --git a/XEngine_Source/StorageModule_Config/Makefile b/XEngine_Source/StorageModule_Config/Makefile index bbb64a420d13d1849d234563f9aa650cc9d6a583..4e56c8e7a622da8463cfbe4f97520fff972bfb65 100644 --- a/XEngine_Source/StorageModule_Config/Makefile +++ b/XEngine_Source/StorageModule_Config/Makefile @@ -1,30 +1,23 @@ CC = g++ -Wall -std=c++17 -fPIC -SHAREFLAG = -shared -SHAREDLL = so +PLATFORM = linux +PLATVER = +PLATDIR = +FILEEXT = +LIBFLAG = RELEASE = 0 UNICODE = 0 -INCLUDE = -I ./ -I ../XEngine_ThirdPart/jsoncpp -LOADBIN = -L ../XEngine_ThirdPart/jsoncpp +LOADHDR = -I ./ -I ../XEngine_ThirdPart/jsoncpp +LOADSO = -L ../XEngine_ThirdPart/jsoncpp LIB = -ljsoncpp -LIBEX = -ldl -lpthread -LOADSO = -Wl,-rpath=./,--disable-new-dtags -LIBINCLUDE = Config_Json.o pch.o - -ifeq ($(shell uname),Darwin) - SHAREDLL = dylib - SHAREFLAG = -dynamiclib - LOADSO = -else - SHAREDLL = so - SHAREFLAG = -shared -endif +LIBEX = +OBJECTS = Config_Json.o pch.o ifeq ($(RELEASE),1) -FLAGS = -c -O2 +FLAGS = -c DEBUG = else -FLAGS = -c -DEBUG = -g +FLAGS = -c -lc_p +DEBUG = -g -pg endif ifeq ($(UNICODE),1) @@ -33,24 +26,46 @@ else UNICODE = endif +ifeq ($(PLATFORM),linux) + ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release)) + PLATVER = -D __CENTOS__ + PLATDIR = XEngine_Linux/Centos + else + PLATVER = -D __UBUNTU__ + PLATDIR = XEngine_Linux/Ubuntu + endif + FILEEXT = so + LIBFLAG = -shared + LIBEX = -lpthread -lrt -ldl + LOADBIN = -Wl,-rpath=./,--disable-new-dtags +else ifeq ($(PLATFORM),mac) + CC += -Wno-deprecated-declarations + PLATVER = -D __MACOS__ + PLATDIR = XEngine_Mac + FILEEXT = dylib + LIBFLAG = -dynamiclib + LIBEX = -lpthread -ldl + LOADBIN = -Wl,-rpath,@loader_path/./ +endif + -all:$(LIBINCLUDE) - $(CC) $(DEBUG) $(LIBINCLUDE) -o libStorageModule_Config.$(SHAREDLL) $(SHAREFLAG) -fPIC $(LOADBIN) $(LIB) $(LIBEX) $(LOADSO) +all:$(OBJECTS) + $(CC) $(DEBUG) $(OBJECTS) -o libStorageModule_Config.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN) Config_Json.o:./Config_Json/Config_Json.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(INCLUDE) ./Config_Json/Config_Json.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Config_Json/Config_Json.cpp pch.o:./pch.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(INCLUDE) ./pch.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./pch.cpp InstallAll:InstallSo -InstallSo:./libStorageModule_Config.$(SHAREDLL) - cp ./libStorageModule_Config.$(SHAREDLL) ../../XEngine_Release/libStorageModule_Config.$(SHAREDLL) +InstallSo:./libStorageModule_Config.$(FILEEXT) + cp ./libStorageModule_Config.$(FILEEXT) ../../XEngine_Release/libStorageModule_Config.$(FILEEXT) CleanAll:CleanObj CleanMk CleanObj: rm *.o CleanMk: - rm *.$(SHAREDLL) + rm *.$(FILEEXT) diff --git a/XEngine_Source/StorageModule_Config/dllmain.cpp b/XEngine_Source/StorageModule_Config/dllmain.cpp index daed8c8f7ac50ca1466016a0529648d18125a7e7..594ff2123d474b129bb2014fb572f03c9741bf0b 100644 --- a/XEngine_Source/StorageModule_Config/dllmain.cpp +++ b/XEngine_Source/StorageModule_Config/dllmain.cpp @@ -1,9 +1,9 @@ // dllmain.cpp : 定义 DLL 应用程序的入口点。 #include "pch.h" -BOOL APIENTRY DllMain( HMODULE hModule, - DWORD ul_reason_for_call, - LPVOID lpReserved +bool APIENTRY DllMain( HMODULE hModule, + XLONG ul_reason_for_call, + XPVOID lpReserved ) { switch (ul_reason_for_call) @@ -14,6 +14,6 @@ BOOL APIENTRY DllMain( HMODULE hModule, case DLL_PROCESS_DETACH: break; } - return TRUE; + return true; } diff --git a/XEngine_Source/StorageModule_Config/pch.cpp b/XEngine_Source/StorageModule_Config/pch.cpp index 34a491ae8806360a1a86cbc765042c8f41416eb3..ec2bcb7dc84fa4856c629c92b7937ce8d1acba1c 100644 --- a/XEngine_Source/StorageModule_Config/pch.cpp +++ b/XEngine_Source/StorageModule_Config/pch.cpp @@ -11,14 +11,14 @@ // Purpose: 导出函数实现 // History: *********************************************************************/ -BOOL Config_IsErrorOccur = FALSE; -DWORD Config_dwErrorCode = 0; +bool Config_IsErrorOccur = false; +XLONG Config_dwErrorCode = 0; ////////////////////////////////////////////////////////////////////// CConfig_Json m_ConfigJson; ////////////////////////////////////////////////////////////////////// // 导出函数定义 ////////////////////////////////////////////////////////////////////// -extern "C" DWORD Config_GetLastError(int* pInt_ErrorCode) +extern "C" XLONG Config_GetLastError(int* pInt_ErrorCode) { if (pInt_ErrorCode != NULL) { @@ -29,11 +29,11 @@ extern "C" DWORD Config_GetLastError(int* pInt_ErrorCode) /************************************************************************/ /* 配置文件读取 */ /************************************************************************/ -extern "C" BOOL Config_Json_File(LPCTSTR lpszConfigFile, XENGINE_SERVERCONFIG * pSt_ServerConfig) +extern "C" bool Config_Json_File(LPCXSTR lpszConfigFile, XENGINE_SERVERCONFIG * pSt_ServerConfig) { return m_ConfigJson.Config_Json_File(lpszConfigFile, pSt_ServerConfig); } -extern "C" BOOL Config_Json_LoadBalance(LPCTSTR lpszConfigFile, XENGINE_LBCONFIG* pSt_ServerConfig) +extern "C" bool Config_Json_LoadBalance(LPCXSTR lpszConfigFile, XENGINE_LBCONFIG* pSt_ServerConfig) { return m_ConfigJson.Config_Json_LoadBalance(lpszConfigFile, pSt_ServerConfig); } \ No newline at end of file diff --git a/XEngine_Source/StorageModule_Config/pch.h b/XEngine_Source/StorageModule_Config/pch.h index 6e33dcfd026723d4c703893b1f120361f7a727e2..2305a5746651e0d30b40ab70af085fc9d057b1ef 100644 --- a/XEngine_Source/StorageModule_Config/pch.h +++ b/XEngine_Source/StorageModule_Config/pch.h @@ -37,8 +37,8 @@ using namespace std; // Purpose: 公用头文件 // History: *********************************************************************/ -extern BOOL Config_IsErrorOccur; -extern DWORD Config_dwErrorCode; +extern bool Config_IsErrorOccur; +extern XLONG Config_dwErrorCode; #ifdef _WINDOWS #ifdef _DEBUG diff --git a/XEngine_Source/StorageModule_Database/Database_Define.h b/XEngine_Source/StorageModule_Database/Database_Define.h index 219a5afc592b4b1840030c2d914a2f368de30c9b..27e14a5d8fc3d31f889cf28efc186b91593c2be7 100644 --- a/XEngine_Source/StorageModule_Database/Database_Define.h +++ b/XEngine_Source/StorageModule_Database/Database_Define.h @@ -16,8 +16,8 @@ typedef struct { XENGINE_PROTOCOL_FILE st_ProtocolFile; - CHAR tszBuckKey[MAX_PATH]; //路径的关键字 - CHAR tszTableName[64]; //日期表名称,插入:表示自定义插入日期表,获取:表示导出这个文件所属日期表 + XCHAR tszBuckKey[MAX_PATH]; //路径的关键字 + XCHAR tszTableName[64]; //日期表名称,插入:表示自定义插入日期表,获取:表示导出这个文件所属日期表 }XSTORAGECORE_DBFILE, *LPXSTORAGECORE_DBFILE; typedef struct { @@ -25,12 +25,12 @@ typedef struct __int64x nFileCount; //拥有的文件个数 __int64x nFileSize; //文件占用大小 XNETHANDLE xhToken; //用户临时会话句柄 - CHAR tszIPAddr[64]; //最后登录IP地址 + XCHAR tszIPAddr[64]; //最后登录IP地址 }XSTORAGECORE_USERINFO, *LPXSTORAGECORE_USERINFO; ////////////////////////////////////////////////////////////////////////// /// 导出的函数 ////////////////////////////////////////////////////////////////////////// -extern "C" DWORD Database_GetLastError(int *pInt_SysError = NULL); +extern "C" XLONG Database_GetLastError(int *pInt_SysError = NULL); /************************************************************************/ /* 导出的数据库帮助函数 */ /************************************************************************/ @@ -52,7 +52,7 @@ extern "C" DWORD Database_GetLastError(int *pInt_SysError = NULL); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Database_Help_Insert(TCHAR* ptszSQLBuffer, XSTORAGECORE_DBFILE* pSt_DBFile); +extern "C" bool Database_Help_Insert(XCHAR* ptszSQLBuffer, XSTORAGECORE_DBFILE* pSt_DBFile); /******************************************************************** 函数名称:Database_Help_Delete 函数功能:删除语句 @@ -91,7 +91,7 @@ extern "C" BOOL Database_Help_Insert(TCHAR* ptszSQLBuffer, XSTORAGECORE_DBFILE* 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Database_Help_Delete(TCHAR* ptszSQLBuffer, LPCTSTR lpszTableName, LPCTSTR lpszBuckKey = NULL, LPCTSTR lpszFilePath = NULL, LPCTSTR lpszFileName = NULL, LPCTSTR lpszFileHash = NULL); +extern "C" bool Database_Help_Delete(XCHAR* ptszSQLBuffer, LPCXSTR lpszTableName, LPCXSTR lpszBuckKey = NULL, LPCXSTR lpszFilePath = NULL, LPCXSTR lpszFileName = NULL, LPCXSTR lpszFileHash = NULL); /******************************************************************** 函数名称:Database_Help_Query 函数功能:数据库查询打包函数 @@ -145,7 +145,7 @@ extern "C" BOOL Database_Help_Delete(TCHAR* ptszSQLBuffer, LPCTSTR lpszTableName 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Database_Help_Query(TCHAR* ptszSQLBuffer, LPCTSTR lpszTableName, LPCTSTR lpszBuckKey = NULL, LPCTSTR lpszFilePath = NULL, LPCTSTR lpszFileName = NULL, LPCTSTR lpszFileHash = NULL, LPCTSTR lpszFileUser = NULL, LPCTSTR lpszTimeStart = NULL, LPCTSTR lpszTimeEnd = NULL); +extern "C" bool Database_Help_Query(XCHAR* ptszSQLBuffer, LPCXSTR lpszTableName, LPCXSTR lpszBuckKey = NULL, LPCXSTR lpszFilePath = NULL, LPCXSTR lpszFileName = NULL, LPCXSTR lpszFileHash = NULL, LPCXSTR lpszFileUser = NULL, LPCXSTR lpszTimeStart = NULL, LPCXSTR lpszTimeEnd = NULL); /************************************************************************/ /* 导出的数据库操作函数 */ /************************************************************************/ @@ -167,7 +167,7 @@ extern "C" BOOL Database_Help_Query(TCHAR* ptszSQLBuffer, LPCTSTR lpszTableName, 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Database_File_Init(DATABASE_MYSQL_CONNECTINFO * pSt_DBConnector, int nTimeMonth = 1); +extern "C" bool Database_File_Init(DATABASE_MYSQL_CONNECTINFO * pSt_DBConnector, int nTimeMonth = 1); /******************************************************************** 函数名称:Database_File_Destory 函数功能:销毁数据库管理器 @@ -176,7 +176,7 @@ extern "C" BOOL Database_File_Init(DATABASE_MYSQL_CONNECTINFO * pSt_DBConnector, 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Database_File_Destory(); +extern "C" bool Database_File_Destory(); /******************************************************************** 函数名称:Database_File_FileInsert 函数功能:插入一个文件数据到数据库中 @@ -195,7 +195,7 @@ extern "C" BOOL Database_File_Destory(); 意思:是否成功 备注:这个结构所有值都必须填充 *********************************************************************/ -extern "C" BOOL Database_File_FileInsert(XSTORAGECORE_DBFILE *pSt_DBManage, BOOL bRewrite = FALSE); +extern "C" bool Database_File_FileInsert(XSTORAGECORE_DBFILE *pSt_DBManage, bool bRewrite = false); /******************************************************************** 函数名称:Database_File_FileDelete 函数功能:删除一个数据库文件信息 @@ -224,7 +224,7 @@ extern "C" BOOL Database_File_FileInsert(XSTORAGECORE_DBFILE *pSt_DBManage, BOOL 意思:是否成功 备注:参数不能全为空,不会删除文件 *********************************************************************/ -extern "C" BOOL Database_File_FileDelete(LPCTSTR lpszBuckKey = NULL, LPCTSTR lpszFilePath = NULL, LPCTSTR lpszFileName = NULL, LPCSTR lpszHash = NULL); +extern "C" bool Database_File_FileDelete(LPCXSTR lpszBuckKey = NULL, LPCXSTR lpszFilePath = NULL, LPCXSTR lpszFileName = NULL, LPCXSTR lpszHash = NULL); /******************************************************************** 函数名称:Database_File_FileQuery 函数功能:查询文件信息 @@ -278,4 +278,4 @@ extern "C" BOOL Database_File_FileDelete(LPCTSTR lpszBuckKey = NULL, LPCTSTR lps 意思:是否成功 备注:返回假可能没有查找到,这条记录不存在.参数lpszFile和lpszMD5不能全为空 *********************************************************************/ -extern "C" BOOL Database_File_FileQuery(XSTORAGECORE_DBFILE * **pppSt_ListFile, int* pInt_ListCount, LPCSTR lpszTimeStart = NULL, LPCSTR lpszTimeEnd = NULL, LPCTSTR lpszBuckKey = NULL, LPCTSTR lpszFilePath = NULL, LPCTSTR lpszFileName = NULL, LPCSTR lpszHash = NULL, LPCTSTR lpszTableName = NULL); \ No newline at end of file +extern "C" bool Database_File_FileQuery(XSTORAGECORE_DBFILE * **pppSt_ListFile, int* pInt_ListCount, LPCXSTR lpszTimeStart = NULL, LPCXSTR lpszTimeEnd = NULL, LPCXSTR lpszBuckKey = NULL, LPCXSTR lpszFilePath = NULL, LPCXSTR lpszFileName = NULL, LPCXSTR lpszHash = NULL, LPCXSTR lpszTableName = NULL); \ No newline at end of file diff --git a/XEngine_Source/StorageModule_Database/Database_File/Database_File.cpp b/XEngine_Source/StorageModule_Database/Database_File/Database_File.cpp index 571a0ca8d8fdab8ba1d92e96f23fc19e344a1a99..326f6be291a59b7829906bbe13ee2f8450501aa2 100644 --- a/XEngine_Source/StorageModule_Database/Database_File/Database_File.cpp +++ b/XEngine_Source/StorageModule_Database/Database_File/Database_File.cpp @@ -13,7 +13,7 @@ *********************************************************************/ CDatabase_File::CDatabase_File() { - bIsRun = FALSE; + bIsRun = false; m_nTimeMonth = 0; xhDBSQL = 0; } @@ -42,40 +42,35 @@ CDatabase_File::~CDatabase_File() 意思:是否成功 备注: *********************************************************************/ -BOOL CDatabase_File::Database_File_Init(DATABASE_MYSQL_CONNECTINFO *pSt_DBConnector, int nTimeDay) +bool CDatabase_File::Database_File_Init(DATABASE_MYSQL_CONNECTINFO *pSt_DBConnector, int nTimeDay) { - Database_IsErrorOccur = FALSE; + Database_IsErrorOccur = false; if (NULL == pSt_DBConnector) { - Database_IsErrorOccur = TRUE; + Database_IsErrorOccur = true; Database_dwErrorCode = ERROR_XENGINE_XSTROGE_CORE_DB_INIT_PARAMENT; - return FALSE; + return false; } m_nTimeMonth = nTimeDay; -#ifdef _WINDOWS - LPCTSTR lpszStrCharset = _T("gbk"); -#else - LPCTSTR lpszStrCharset = _T("utf8"); -#endif //连接数据库 - _tcscpy(pSt_DBConnector->tszDBName, _T("XEngine_Storage")); - if (!DataBase_MySQL_Connect(&xhDBSQL, pSt_DBConnector, 5, TRUE, lpszStrCharset)) + _tcsxcpy(pSt_DBConnector->tszDBName, _X("XEngine_Storage")); + if (!DataBase_MySQL_Connect(&xhDBSQL, pSt_DBConnector)) { - Database_IsErrorOccur = TRUE; + Database_IsErrorOccur = true; Database_dwErrorCode = DataBase_GetLastError(); - return FALSE; + return false; } - bIsRun = TRUE; + bIsRun = true; pSTDThread = make_shared(Database_File_Thread, this); if (!pSTDThread->joinable()) { - Database_IsErrorOccur = TRUE; + Database_IsErrorOccur = true; Database_dwErrorCode = ERROR_XENGINE_XSTROGE_CORE_DB_INIT_THREAD; - return FALSE; + return false; } - return TRUE; + return true; } /******************************************************************** 函数名称:Database_File_Destory @@ -85,15 +80,15 @@ BOOL CDatabase_File::Database_File_Init(DATABASE_MYSQL_CONNECTINFO *pSt_DBConnec 意思:是否成功 备注: *********************************************************************/ -BOOL CDatabase_File::Database_File_Destory() +bool CDatabase_File::Database_File_Destory() { - Database_IsErrorOccur = FALSE; + Database_IsErrorOccur = false; if (!bIsRun) { - return TRUE; + return true; } - bIsRun = FALSE; + bIsRun = false; if (NULL != pSTDThread) { @@ -103,7 +98,7 @@ BOOL CDatabase_File::Database_File_Destory() } } DataBase_MySQL_Close(xhDBSQL); - return TRUE; + return true; } /******************************************************************** 函数名称:Database_File_FileInsert @@ -123,24 +118,24 @@ BOOL CDatabase_File::Database_File_Destory() 意思:是否成功 备注:这个结构所有值都必须填充 *********************************************************************/ -BOOL CDatabase_File::Database_File_FileInsert(XSTORAGECORE_DBFILE *pSt_DBManage, BOOL bRewrite /* = FALSE */) +bool CDatabase_File::Database_File_FileInsert(XSTORAGECORE_DBFILE *pSt_DBManage, bool bRewrite /* = false */) { - Database_IsErrorOccur = FALSE; + Database_IsErrorOccur = false; if (NULL == pSt_DBManage) { - Database_IsErrorOccur = TRUE; + Database_IsErrorOccur = true; Database_dwErrorCode = ERROR_XENGINE_XSTROGE_CORE_DB_INSERTFILE_PARAMENT; - return FALSE; + return false; } int nListCount = 0; XSTORAGECORE_DBFILE **ppSt_ListFile; if (Database_File_FileQuery(&ppSt_ListFile, &nListCount, NULL, NULL, NULL, NULL, NULL, pSt_DBManage->st_ProtocolFile.tszFileHash)) { BaseLib_OperatorMemory_Free((void***)&ppSt_ListFile, nListCount); - return TRUE; + return true; } - TCHAR tszSQLQuery[2048]; + XCHAR tszSQLQuery[2048]; memset(tszSQLQuery, '\0', sizeof(tszSQLQuery)); if (bRewrite) @@ -167,11 +162,11 @@ BOOL CDatabase_File::Database_File_FileInsert(XSTORAGECORE_DBFILE *pSt_DBManage, if (!DataBase_MySQL_Execute(xhDBSQL, m_StrSQL.c_str())) { - Database_IsErrorOccur = TRUE; + Database_IsErrorOccur = true; Database_dwErrorCode = DataBase_GetLastError(); - return FALSE; + return false; } - return TRUE; + return true; } /******************************************************************** 函数名称:Database_File_FileDelete @@ -201,38 +196,38 @@ BOOL CDatabase_File::Database_File_FileInsert(XSTORAGECORE_DBFILE *pSt_DBManage, 意思:是否成功 备注:参数不能全为空,不会删除文件 *********************************************************************/ -BOOL CDatabase_File::Database_File_FileDelete(LPCTSTR lpszBuckKey /* = NULL */, LPCTSTR lpszFilePath /* = NULL */, LPCTSTR lpszFileName /* = NULL */, LPCTSTR lpszHash /* = NULL */) +bool CDatabase_File::Database_File_FileDelete(LPCXSTR lpszBuckKey /* = NULL */, LPCXSTR lpszFilePath /* = NULL */, LPCXSTR lpszFileName /* = NULL */, LPCXSTR lpszHash /* = NULL */) { - Database_IsErrorOccur = FALSE; + Database_IsErrorOccur = false; if ((NULL == lpszFileName) && (NULL == lpszHash)) { - Database_IsErrorOccur = TRUE; + Database_IsErrorOccur = true; Database_dwErrorCode = ERROR_XENGINE_XSTROGE_CORE_DB_DELETEFILE_PARAMENT; - return FALSE; + return false; } int nListCount = 0; XSTORAGECORE_DBFILE **ppSt_ListFile; if (!Database_File_FileQuery(&ppSt_ListFile, &nListCount, NULL, NULL, lpszBuckKey, lpszFilePath, lpszFileName, lpszHash)) { - return FALSE; + return false; } //轮训查找删除 for (int i = 0; i < nListCount; i++) { - TCHAR tszSQLStatement[1024]; + XCHAR tszSQLStatement[1024]; memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); Database_Help_Delete(tszSQLStatement, ppSt_ListFile[i]->tszTableName, lpszBuckKey, lpszFilePath, lpszFileName, lpszHash); if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLStatement)) { - Database_IsErrorOccur = TRUE; + Database_IsErrorOccur = true; Database_dwErrorCode = DataBase_GetLastError(); - return FALSE; + return false; } } - return TRUE; + return true; } /******************************************************************** 函数名称:Database_File_FileQuery @@ -287,15 +282,15 @@ BOOL CDatabase_File::Database_File_FileDelete(LPCTSTR lpszBuckKey /* = NULL */, 意思:是否成功 备注:返回假可能没有查找到,这条记录不存在.参数lpszFile和lpszHash不能全为空 *********************************************************************/ -BOOL CDatabase_File::Database_File_FileQuery(XSTORAGECORE_DBFILE*** pppSt_ListFile, int* pInt_ListCount, LPCTSTR lpszTimeStart /* = NULL */, LPCTSTR lpszTimeEnd /* = NULL */, LPCTSTR lpszBuckKey /* = NULL */, LPCTSTR lpszFilePath /* = NULL */, LPCTSTR lpszFileName /* = NULL */, LPCTSTR lpszHash /* = NULL */, LPCTSTR lpszTableName /* = NULL */) +bool CDatabase_File::Database_File_FileQuery(XSTORAGECORE_DBFILE*** pppSt_ListFile, int* pInt_ListCount, LPCXSTR lpszTimeStart /* = NULL */, LPCXSTR lpszTimeEnd /* = NULL */, LPCXSTR lpszBuckKey /* = NULL */, LPCXSTR lpszFilePath /* = NULL */, LPCXSTR lpszFileName /* = NULL */, LPCXSTR lpszHash /* = NULL */, LPCXSTR lpszTableName /* = NULL */) { - Database_IsErrorOccur = FALSE; + Database_IsErrorOccur = false; if ((NULL == lpszHash) && (NULL == lpszFileName)) { - Database_IsErrorOccur = TRUE; + Database_IsErrorOccur = true; Database_dwErrorCode = ERROR_XENGINE_XSTROGE_CORE_DB_QUERYFILE_PARAMENT; - return FALSE; + return false; } //查询 XNETHANDLE xhTable = 0; @@ -303,7 +298,7 @@ BOOL CDatabase_File::Database_File_FileQuery(XSTORAGECORE_DBFILE*** pppSt_ListFi __int64u nllRow = 0; list stl_ListFile; - TCHAR tszSQLStatement[1024]; + XCHAR tszSQLStatement[1024]; memset(tszSQLStatement, '\0', sizeof(tszSQLStatement)); if (NULL == lpszTableName) @@ -311,29 +306,29 @@ BOOL CDatabase_File::Database_File_FileQuery(XSTORAGECORE_DBFILE*** pppSt_ListFi //检查是否时间范围检索 if ((NULL != lpszTimeStart) && (NULL != lpszTimeEnd)) { - if (_tcslen(lpszTimeStart) > 0 && _tcslen(lpszTimeEnd) > 0) + if (_tcsxlen(lpszTimeStart) > 0 && _tcsxlen(lpszTimeEnd) > 0) { - _stprintf_s(tszSQLStatement, _T("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'XEngine_Storage' AND TABLE_NAME BETWEEN '%s' AND '%s'"), lpszTimeStart, lpszTimeEnd); + _xstprintf(tszSQLStatement, _X("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'XEngine_Storage' AND TABLE_NAME BETWEEN '%s' AND '%s'"), lpszTimeStart, lpszTimeEnd); } else { - _stprintf_s(tszSQLStatement, _T("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'XEngine_Storage'")); + _xstprintf(tszSQLStatement, _X("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'XEngine_Storage'")); } } else { - _stprintf_s(tszSQLStatement, _T("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'XEngine_Storage'")); + _xstprintf(tszSQLStatement, _X("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'XEngine_Storage'")); } if (!DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTable, tszSQLStatement, &nllLine, &nllRow)) { - Database_IsErrorOccur = TRUE; + Database_IsErrorOccur = true; Database_dwErrorCode = DataBase_GetLastError(); - return FALSE; + return false; } //轮训 for (__int64u i = 0; i < nllLine; i++) { - TCHAR** pptszResult = DataBase_MySQL_GetResult(xhDBSQL, xhTable); + XCHAR** pptszResult = DataBase_MySQL_GetResult(xhDBSQL, xhTable); if (NULL == pptszResult[0]) { continue; @@ -350,40 +345,40 @@ BOOL CDatabase_File::Database_File_FileQuery(XSTORAGECORE_DBFILE*** pppSt_ListFi //循环获取所有查找到的文件 for (__int64u j = 0; j < dwLineResult; j++) { - TCHAR** pptszFileResult = DataBase_MySQL_GetResult(xhDBSQL, xhResult); + XCHAR** pptszFileResult = DataBase_MySQL_GetResult(xhDBSQL, xhResult); XSTORAGECORE_DBFILE st_DBFile; memset(&st_DBFile, '\0', sizeof(XSTORAGECORE_DBFILE)); - _tcscpy(st_DBFile.tszTableName, pptszResult[0]); + _tcsxcpy(st_DBFile.tszTableName, pptszResult[0]); if (NULL != pptszFileResult[1]) { - _tcscpy(st_DBFile.tszBuckKey, pptszFileResult[1]); + _tcsxcpy(st_DBFile.tszBuckKey, pptszFileResult[1]); } if (NULL != pptszFileResult[2]) { - _tcscpy(st_DBFile.st_ProtocolFile.tszFilePath, pptszFileResult[2]); + _tcsxcpy(st_DBFile.st_ProtocolFile.tszFilePath, pptszFileResult[2]); } if (NULL != pptszFileResult[3]) { - _tcscpy(st_DBFile.st_ProtocolFile.tszFileName, pptszFileResult[3]); + _tcsxcpy(st_DBFile.st_ProtocolFile.tszFileName, pptszFileResult[3]); } if (NULL != pptszFileResult[4]) { - _tcscpy(st_DBFile.st_ProtocolFile.tszFileHash, pptszFileResult[4]); + _tcsxcpy(st_DBFile.st_ProtocolFile.tszFileHash, pptszFileResult[4]); } if (NULL != pptszFileResult[5]) { - _tcscpy(st_DBFile.st_ProtocolFile.tszFileUser, pptszFileResult[5]); + _tcsxcpy(st_DBFile.st_ProtocolFile.tszFileUser, pptszFileResult[5]); } if (NULL != pptszFileResult[6]) { - st_DBFile.st_ProtocolFile.nFileSize = _ttoi64(pptszFileResult[6]); + st_DBFile.st_ProtocolFile.nFileSize = _ttxoll(pptszFileResult[6]); } if (NULL != pptszFileResult[7]) { - _tcscpy(st_DBFile.st_ProtocolFile.tszFileTime, pptszFileResult[7]); + _tcsxcpy(st_DBFile.st_ProtocolFile.tszFileTime, pptszFileResult[7]); } stl_ListFile.push_back(st_DBFile); } @@ -401,40 +396,40 @@ BOOL CDatabase_File::Database_File_FileQuery(XSTORAGECORE_DBFILE*** pppSt_ListFi //循环获取所有查找到的文件 for (__int64u i = 0; i < nllLine; i++) { - TCHAR** pptszFileResult = DataBase_MySQL_GetResult(xhDBSQL, xhTable); + XCHAR** pptszFileResult = DataBase_MySQL_GetResult(xhDBSQL, xhTable); XSTORAGECORE_DBFILE st_DBFile; memset(&st_DBFile, '\0', sizeof(XSTORAGECORE_DBFILE)); - _tcscpy(st_DBFile.tszTableName, lpszTableName); + _tcsxcpy(st_DBFile.tszTableName, lpszTableName); if (NULL != pptszFileResult[1]) { - _tcscpy(st_DBFile.tszBuckKey, pptszFileResult[1]); + _tcsxcpy(st_DBFile.tszBuckKey, pptszFileResult[1]); } if (NULL != pptszFileResult[2]) { - _tcscpy(st_DBFile.st_ProtocolFile.tszFilePath, pptszFileResult[2]); + _tcsxcpy(st_DBFile.st_ProtocolFile.tszFilePath, pptszFileResult[2]); } if (NULL != pptszFileResult[3]) { - _tcscpy(st_DBFile.st_ProtocolFile.tszFileName, pptszFileResult[3]); + _tcsxcpy(st_DBFile.st_ProtocolFile.tszFileName, pptszFileResult[3]); } if (NULL != pptszFileResult[4]) { - _tcscpy(st_DBFile.st_ProtocolFile.tszFileHash, pptszFileResult[4]); + _tcsxcpy(st_DBFile.st_ProtocolFile.tszFileHash, pptszFileResult[4]); } if (NULL != pptszFileResult[5]) { - _tcscpy(st_DBFile.st_ProtocolFile.tszFileUser, pptszFileResult[5]); + _tcsxcpy(st_DBFile.st_ProtocolFile.tszFileUser, pptszFileResult[5]); } if (NULL != pptszFileResult[6]) { - st_DBFile.st_ProtocolFile.nFileSize = _ttoi64(pptszFileResult[6]); + st_DBFile.st_ProtocolFile.nFileSize = _ttxoll(pptszFileResult[6]); } if (NULL != pptszFileResult[7]) { - _tcscpy(st_DBFile.st_ProtocolFile.tszFileTime, pptszFileResult[7]); + _tcsxcpy(st_DBFile.st_ProtocolFile.tszFileTime, pptszFileResult[7]); } stl_ListFile.push_back(st_DBFile); } @@ -444,9 +439,9 @@ BOOL CDatabase_File::Database_File_FileQuery(XSTORAGECORE_DBFILE*** pppSt_ListFi //是否为空 if (stl_ListFile.empty()) { - Database_IsErrorOccur = TRUE; + Database_IsErrorOccur = true; Database_dwErrorCode = ERROR_XENGINE_XSTROGE_CORE_DB_QUERYFILE_EMPTY; - return FALSE; + return false; } BaseLib_OperatorMemory_Malloc((XPPPMEM)pppSt_ListFile, stl_ListFile.size(), sizeof(XSTORAGECORE_DBFILE)); @@ -457,7 +452,7 @@ BOOL CDatabase_File::Database_File_FileQuery(XSTORAGECORE_DBFILE*** pppSt_ListFi } *pInt_ListCount = stl_ListFile.size(); stl_ListFile.clear(); - return TRUE; + return true; } ////////////////////////////////////////////////////////////////////////// // 保护函数 @@ -470,14 +465,14 @@ BOOL CDatabase_File::Database_File_FileQuery(XSTORAGECORE_DBFILE*** pppSt_ListFi 意思:是否成功 备注: *********************************************************************/ -BOOL CDatabase_File::Database_File_CreateTable() +bool CDatabase_File::Database_File_CreateTable() { - Database_IsErrorOccur = FALSE; + Database_IsErrorOccur = false; for (int i = 0; i < 2; i++) { - TCHAR tszTableName[64]; - TCHAR tszSQLQuery[2048]; + XCHAR tszTableName[64]; + XCHAR tszSQLQuery[2048]; memset(tszTableName, '\0', sizeof(tszTableName)); memset(tszSQLQuery, '\0', sizeof(tszSQLQuery)); @@ -489,34 +484,41 @@ BOOL CDatabase_File::Database_File_CreateTable() if (12 == st_DBTime.wMonth) { - _stprintf_s(tszTableName, _T("%04d01"), st_DBTime.wYear); + _xstprintf(tszTableName, _X("%04d01"), st_DBTime.wYear); } else { - _stprintf_s(tszTableName, _T("%04d%02d"), st_DBTime.wYear, st_DBTime.wMonth + i); + _xstprintf(tszTableName, _X("%04d%02d"), st_DBTime.wYear, st_DBTime.wMonth + i); } - _stprintf_s(tszSQLQuery, _T("CREATE TABLE IF NOT EXISTS `%s` (" + _xstprintf(tszSQLQuery, _X("CREATE TABLE IF NOT EXISTS `%s` (" "`ID` int NOT NULL AUTO_INCREMENT COMMENT 'ID序号'," - "`BuckKey` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '路径KEY'," - "`FilePath` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件路径'," - "`FileName` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '文件名称'," - "`FileHash` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件HASH'," - "`FileUser` varchar(260) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '文件所属用户'," + "`BuckKey` varchar(260) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '路径KEY'," + "`FilePath` varchar(260) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件路径'," + "`FileName` varchar(260) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '文件名称'," + "`FileHash` varchar(260) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '文件HASH'," + "`FileUser` varchar(260) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '文件所属用户'," "`FileSize` bigint NOT NULL COMMENT '文件大小'," "`FileTime` datetime NOT NULL COMMENT '插入时间'," "PRIMARY KEY (`ID`) USING BTREE" - ") ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;" + ") ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;" ), tszTableName); - - if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLQuery)) +#ifdef _MSC_BUILD + int nUTFLen = 0; + XCHAR tszUTFBuffer[2048]; + memset(tszUTFBuffer, '\0', sizeof(tszUTFBuffer)); + BaseLib_OperatorCharset_AnsiToUTF(tszSQLQuery, tszUTFBuffer, &nUTFLen); + if (!DataBase_MySQL_Execute(xhDBSQL, tszUTFBuffer)) +#else + if (!DataBase_MySQL_Execute(xhDBSQL, tszSQLQuery)) +#endif { - Database_IsErrorOccur = TRUE; + Database_IsErrorOccur = true; Database_dwErrorCode = DataBase_GetLastError(); - return FALSE; + return false; } } - return TRUE; + return true; } /******************************************************************** 函数名称:Database_File_TimeDay @@ -536,27 +538,27 @@ BOOL CDatabase_File::Database_File_CreateTable() 意思:是否成功 备注: *********************************************************************/ -BOOL CDatabase_File::Database_File_TimeMonth(LPCTSTR lpszStartTime, int* pInt_Month) +bool CDatabase_File::Database_File_TimeMonth(LPCXSTR lpszStartTime, int* pInt_Month) { - Database_IsErrorOccur = FALSE; + Database_IsErrorOccur = false; XENGINE_LIBTIMER st_EndTime; memset(&st_EndTime, '\0', sizeof(XENGINE_LIBTIMER)); BaseLib_OperatorTime_GetSysTime(&st_EndTime); - TCHAR tszTimeStr[64]; + XCHAR tszTimeStr[64]; memset(tszTimeStr, '\0', sizeof(tszTimeStr)); - _stprintf(tszTimeStr, _T("%04d%02d"), st_EndTime.wYear, st_EndTime.wMonth); - int nEndTime = _ttoi(tszTimeStr); - int nStartTime = _ttoi(lpszStartTime); + _xstprintf(tszTimeStr, _X("%04d%02d"), st_EndTime.wYear, st_EndTime.wMonth); + int nEndTime = _ttxoi(tszTimeStr); + int nStartTime = _ttxoi(lpszStartTime); if (nStartTime > 0) { *pInt_Month = nEndTime - nStartTime; } - return TRUE; + return true; } /******************************************************************** 函数名称:Database_File_TimeDel @@ -566,22 +568,22 @@ BOOL CDatabase_File::Database_File_TimeMonth(LPCTSTR lpszStartTime, int* pInt_Mo 意思:是否成功 备注: *********************************************************************/ -BOOL CDatabase_File::Database_File_TimeDel() +bool CDatabase_File::Database_File_TimeDel() { - Database_IsErrorOccur = FALSE; + Database_IsErrorOccur = false; __int64u dwLine = 0; __int64u dwField = 0; XNETHANDLE xhTableResult; - TCHAR tszSQLQuery[2048]; + XCHAR tszSQLQuery[2048]; memset(tszSQLQuery, '\0', sizeof(tszSQLQuery)); - _stprintf_s(tszSQLQuery, _T("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='XEngine_Storage' AND TABLE_TYPE='BASE TABLE'")); + _xstprintf(tszSQLQuery, _X("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='XEngine_Storage' AND TABLE_TYPE='BASE TABLE'")); if (DataBase_MySQL_ExecuteQuery(xhDBSQL, &xhTableResult, tszSQLQuery, &dwLine, &dwField)) { for (__int64u i = 0; i < dwLine; i++) { - TCHAR** pptszResult = DataBase_MySQL_GetResult(xhDBSQL, xhTableResult); + XCHAR** pptszResult = DataBase_MySQL_GetResult(xhDBSQL, xhTableResult); if (NULL == pptszResult[0]) { continue; @@ -599,15 +601,15 @@ BOOL CDatabase_File::Database_File_TimeDel() for (int i = 0; i < nListCount; i++) { //删除文件 - TCHAR tszFilePath[2048]; + XCHAR tszFilePath[2048]; memset(tszFilePath, '\0', sizeof(tszFilePath)); - _stprintf(tszFilePath, _T("%s/%s"), ppSt_ListFile[i]->st_ProtocolFile.tszFilePath, ppSt_ListFile[i]->st_ProtocolFile.tszFileName); - _tremove(tszFilePath); + _xstprintf(tszFilePath, _X("%s/%s"), ppSt_ListFile[i]->st_ProtocolFile.tszFilePath, ppSt_ListFile[i]->st_ProtocolFile.tszFileName); + _xtremove(tszFilePath); } //删除数据库 memset(tszSQLQuery, '\0', sizeof(tszSQLQuery)); - _stprintf_s(tszSQLQuery, _T("DROP TABLE `%s`"), pptszResult[0]); + _xstprintf(tszSQLQuery, _X("DROP TABLE `%s`"), pptszResult[0]); DataBase_MySQL_Execute(xhDBSQL, tszSQLQuery); BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_ListFile, nListCount); } @@ -615,12 +617,12 @@ BOOL CDatabase_File::Database_File_TimeDel() } } DataBase_MySQL_FreeResult(xhDBSQL, xhTableResult); - return TRUE; + return true; } ////////////////////////////////////////////////////////////////////////// // 线程函数 ////////////////////////////////////////////////////////////////////////// -XHTHREAD CDatabase_File::Database_File_Thread(LPVOID lParam) +XHTHREAD CDatabase_File::Database_File_Thread(XPVOID lParam) { CDatabase_File *pClass_This = (CDatabase_File *)lParam; time_t nTimeStart = time(NULL); diff --git a/XEngine_Source/StorageModule_Database/Database_File/Database_File.h b/XEngine_Source/StorageModule_Database/Database_File/Database_File.h index 953eb2b42eee58d2b1d2816b56b968e205538124..5330cab9e29b5d731cf78a83f752466be7f1aee0 100644 --- a/XEngine_Source/StorageModule_Database/Database_File/Database_File.h +++ b/XEngine_Source/StorageModule_Database/Database_File/Database_File.h @@ -17,19 +17,19 @@ public: CDatabase_File(); ~CDatabase_File(); public: - BOOL Database_File_Init(DATABASE_MYSQL_CONNECTINFO* pSt_DBConnector, int nTimeMonth = 1); - BOOL Database_File_Destory(); - BOOL Database_File_FileInsert(XSTORAGECORE_DBFILE *pSt_DBManage, BOOL bRewrite = FALSE); - BOOL Database_File_FileDelete(LPCTSTR lpszBuckKey = NULL, LPCTSTR lpszFilePath = NULL, LPCTSTR lpszFileName = NULL, LPCTSTR lpszHash = NULL); - BOOL Database_File_FileQuery(XSTORAGECORE_DBFILE*** pppSt_ListFile, int* pInt_ListCount, LPCTSTR lpszTimeStart = NULL, LPCTSTR lpszTimeEnd = NULL, LPCTSTR lpszBuckKey = NULL, LPCTSTR lpszFilePath = NULL, LPCTSTR lpszFileName = NULL, LPCTSTR lpszHash = NULL, LPCTSTR lpszTableName = NULL); + bool Database_File_Init(DATABASE_MYSQL_CONNECTINFO* pSt_DBConnector, int nTimeMonth = 1); + bool Database_File_Destory(); + bool Database_File_FileInsert(XSTORAGECORE_DBFILE *pSt_DBManage, bool bRewrite = false); + bool Database_File_FileDelete(LPCXSTR lpszBuckKey = NULL, LPCXSTR lpszFilePath = NULL, LPCXSTR lpszFileName = NULL, LPCXSTR lpszHash = NULL); + bool Database_File_FileQuery(XSTORAGECORE_DBFILE*** pppSt_ListFile, int* pInt_ListCount, LPCXSTR lpszTimeStart = NULL, LPCXSTR lpszTimeEnd = NULL, LPCXSTR lpszBuckKey = NULL, LPCXSTR lpszFilePath = NULL, LPCXSTR lpszFileName = NULL, LPCXSTR lpszHash = NULL, LPCXSTR lpszTableName = NULL); protected: - BOOL Database_File_CreateTable(); - BOOL Database_File_TimeMonth(LPCTSTR lpszStartTime, int* pInt_Month); - BOOL Database_File_TimeDel(); + bool Database_File_CreateTable(); + bool Database_File_TimeMonth(LPCXSTR lpszStartTime, int* pInt_Month); + bool Database_File_TimeDel(); protected: - static XHTHREAD Database_File_Thread(LPVOID lParam); + static XHTHREAD Database_File_Thread(XPVOID lParam); private: - BOOL bIsRun; + bool bIsRun; int m_nTimeMonth; XNETHANDLE xhDBSQL; private: diff --git a/XEngine_Source/StorageModule_Database/Database_Help/Database_Help.cpp b/XEngine_Source/StorageModule_Database/Database_Help/Database_Help.cpp index 6f1d5869a98945ffbf78c25ea4d5e5ccf41d0342..7bcaef0bc8fa692de6f77a42badca03d90d52395 100644 --- a/XEngine_Source/StorageModule_Database/Database_Help/Database_Help.cpp +++ b/XEngine_Source/StorageModule_Database/Database_Help/Database_Help.cpp @@ -38,11 +38,11 @@ CDatabase_Help::~CDatabase_Help() 意思:是否成功 备注: *********************************************************************/ -BOOL CDatabase_Help::Database_Help_Insert(TCHAR* ptszSQLBuffer, XSTORAGECORE_DBFILE* pSt_DBFile) +bool CDatabase_Help::Database_Help_Insert(XCHAR* ptszSQLBuffer, XSTORAGECORE_DBFILE* pSt_DBFile) { - Database_IsErrorOccur = FALSE; + Database_IsErrorOccur = false; - TCHAR tszTableName[64]; + XCHAR tszTableName[64]; XENGINE_LIBTIMER st_LibTimer; memset(tszTableName, '\0', sizeof(tszTableName)); @@ -50,17 +50,17 @@ BOOL CDatabase_Help::Database_Help_Insert(TCHAR* ptszSQLBuffer, XSTORAGECORE_DBF //获得插入日期表 BaseLib_OperatorTime_GetSysTime(&st_LibTimer); - if (_tcslen(pSt_DBFile->tszTableName) > 0) + if (_tcsxlen(pSt_DBFile->tszTableName) > 0) { - _tcscpy(tszTableName, pSt_DBFile->tszTableName); + _tcsxcpy(tszTableName, pSt_DBFile->tszTableName); } else { - _stprintf(tszTableName, _T("%04d%02d"), st_LibTimer.wYear, st_LibTimer.wMonth); + _xstprintf(tszTableName, _X("%04d%02d"), st_LibTimer.wYear, st_LibTimer.wMonth); } - _stprintf(ptszSQLBuffer, _T("INSERT INTO `%s` (BuckKey,FilePath,FileName,FileHash,FileUser,FileSize,FileTime) VALUES('%s','%s','%s','%s','%s',%lld,'%04d-%02d-%02d %02d:%02d:%02d')"), tszTableName, pSt_DBFile->tszBuckKey, pSt_DBFile->st_ProtocolFile.tszFilePath, pSt_DBFile->st_ProtocolFile.tszFileName, pSt_DBFile->st_ProtocolFile.tszFileHash, pSt_DBFile->st_ProtocolFile.tszFileUser, pSt_DBFile->st_ProtocolFile.nFileSize, st_LibTimer.wYear, st_LibTimer.wMonth, st_LibTimer.wDay, st_LibTimer.wHour, st_LibTimer.wMinute, st_LibTimer.wSecond); - return TRUE; + _xstprintf(ptszSQLBuffer, _X("INSERT INTO `%s` (BuckKey,FilePath,FileName,FileHash,FileUser,FileSize,FileTime) VALUES('%s','%s','%s','%s','%s',%lld,'%04d-%02d-%02d %02d:%02d:%02d')"), tszTableName, pSt_DBFile->tszBuckKey, pSt_DBFile->st_ProtocolFile.tszFilePath, pSt_DBFile->st_ProtocolFile.tszFileName, pSt_DBFile->st_ProtocolFile.tszFileHash, pSt_DBFile->st_ProtocolFile.tszFileUser, pSt_DBFile->st_ProtocolFile.nFileSize, st_LibTimer.wYear, st_LibTimer.wMonth, st_LibTimer.wDay, st_LibTimer.wHour, st_LibTimer.wMinute, st_LibTimer.wSecond); + return true; } /******************************************************************** 函数名称:Database_Help_Delete @@ -100,16 +100,16 @@ BOOL CDatabase_Help::Database_Help_Insert(TCHAR* ptszSQLBuffer, XSTORAGECORE_DBF 意思:是否成功 备注: *********************************************************************/ -BOOL CDatabase_Help::Database_Help_Delete(TCHAR* ptszSQLBuffer, LPCTSTR lpszTableName, LPCTSTR lpszBuckKey /* = NULL */, LPCTSTR lpszFilePath /* = NULL */, LPCTSTR lpszFileName /* = NULL */, LPCTSTR lpszFileHash /* = NULL */) +bool CDatabase_Help::Database_Help_Delete(XCHAR* ptszSQLBuffer, LPCXSTR lpszTableName, LPCXSTR lpszBuckKey /* = NULL */, LPCXSTR lpszFilePath /* = NULL */, LPCXSTR lpszFileName /* = NULL */, LPCXSTR lpszFileHash /* = NULL */) { - Database_IsErrorOccur = FALSE; + Database_IsErrorOccur = false; - TCHAR tszSQLQuery[1024]; + XCHAR tszSQLQuery[1024]; memset(tszSQLQuery, '\0', sizeof(tszSQLQuery)); Database_Help_Packet(tszSQLQuery, lpszBuckKey, lpszFilePath, lpszFileName, lpszFileHash); - _stprintf(ptszSQLBuffer, _T("DELETE FROM `%s` %s"), lpszTableName, tszSQLQuery); - return TRUE; + _xstprintf(ptszSQLBuffer, _X("DELETE FROM `%s` %s"), lpszTableName, tszSQLQuery); + return true; } /******************************************************************** 函数名称:Database_Help_Query @@ -164,17 +164,17 @@ BOOL CDatabase_Help::Database_Help_Delete(TCHAR* ptszSQLBuffer, LPCTSTR lpszTabl 意思:是否成功 备注: *********************************************************************/ -BOOL CDatabase_Help::Database_Help_Query(TCHAR* ptszSQLBuffer, LPCTSTR lpszTableName, LPCTSTR lpszBuckKey /* = NULL */, LPCTSTR lpszFilePath /* = NULL */, LPCTSTR lpszFileName /* = NULL */, LPCTSTR lpszFileHash /* = NULL */, LPCTSTR lpszFileUser /* = NULL */, LPCTSTR lpszTimeStart /* = NULL */, LPCTSTR lpszTimeEnd /* = NULL */) +bool CDatabase_Help::Database_Help_Query(XCHAR* ptszSQLBuffer, LPCXSTR lpszTableName, LPCXSTR lpszBuckKey /* = NULL */, LPCXSTR lpszFilePath /* = NULL */, LPCXSTR lpszFileName /* = NULL */, LPCXSTR lpszFileHash /* = NULL */, LPCXSTR lpszFileUser /* = NULL */, LPCXSTR lpszTimeStart /* = NULL */, LPCXSTR lpszTimeEnd /* = NULL */) { - Database_IsErrorOccur = FALSE; + Database_IsErrorOccur = false; - TCHAR tszSQLQuery[1024]; + XCHAR tszSQLQuery[1024]; memset(tszSQLQuery, '\0', sizeof(tszSQLQuery)); - _stprintf(ptszSQLBuffer, _T("SELECT * FROM `%s`"), lpszTableName); + _xstprintf(ptszSQLBuffer, _X("SELECT * FROM `%s`"), lpszTableName); Database_Help_Packet(tszSQLQuery, lpszBuckKey, lpszFilePath, lpszFileName, lpszFileHash, lpszFileUser, lpszTimeStart, lpszTimeEnd); - _tcscat(ptszSQLBuffer, tszSQLQuery); - return TRUE; + _tcsxcat(ptszSQLBuffer, tszSQLQuery); + return true; } ////////////////////////////////////////////////////////////////////////// // 保护函数 @@ -227,127 +227,127 @@ BOOL CDatabase_Help::Database_Help_Query(TCHAR* ptszSQLBuffer, LPCTSTR lpszTable 意思:是否成功 备注: *********************************************************************/ -BOOL CDatabase_Help::Database_Help_Packet(TCHAR* ptszSQLBuffer, LPCTSTR lpszBuckKey /* = NULL */, LPCTSTR lpszFilePath /* = NULL */, LPCTSTR lpszFileName /* = NULL */, LPCTSTR lpszFileHash /* = NULL */, LPCTSTR lpszFileUser /* = NULL */, LPCTSTR lpszTimeStart /* = NULL */, LPCTSTR lpszTimeEnd /* = NULL */) +bool CDatabase_Help::Database_Help_Packet(XCHAR* ptszSQLBuffer, LPCXSTR lpszBuckKey /* = NULL */, LPCXSTR lpszFilePath /* = NULL */, LPCXSTR lpszFileName /* = NULL */, LPCXSTR lpszFileHash /* = NULL */, LPCXSTR lpszFileUser /* = NULL */, LPCXSTR lpszTimeStart /* = NULL */, LPCXSTR lpszTimeEnd /* = NULL */) { - Database_IsErrorOccur = FALSE; + Database_IsErrorOccur = false; - BOOL bInit = FALSE; - TCHAR tszSQLQuery[MAX_PATH]; + bool bInit = false; + XCHAR tszSQLQuery[MAX_PATH]; memset(tszSQLQuery, '\0', MAX_PATH); //文件所属BUCKET if (NULL != lpszBuckKey) { - if (_tcslen(lpszBuckKey) > 0) + if (_tcsxlen(lpszBuckKey) > 0) { if (bInit) { - _tcscat(ptszSQLBuffer, _T(" AND ")); + _tcsxcat(ptszSQLBuffer, _X(" AND ")); } else { - _tcscat(ptszSQLBuffer, _T(" WHERE ")); + _tcsxcat(ptszSQLBuffer, _X(" WHERE ")); } memset(tszSQLQuery, '\0', MAX_PATH); - _stprintf(tszSQLQuery, _T("BuckKey = '%s'"), lpszBuckKey); - _tcscat(ptszSQLBuffer, tszSQLQuery); - bInit = TRUE; + _xstprintf(tszSQLQuery, _X("BuckKey = '%s'"), lpszBuckKey); + _tcsxcat(ptszSQLBuffer, tszSQLQuery); + bInit = true; } } //文件路径 if (NULL != lpszFilePath) { - if (_tcslen(lpszFilePath) > 0) + if (_tcsxlen(lpszFilePath) > 0) { if (bInit) { - _tcscat(ptszSQLBuffer, _T(" AND ")); + _tcsxcat(ptszSQLBuffer, _X(" AND ")); } else { - _tcscat(ptszSQLBuffer, _T("WHERE ")); + _tcsxcat(ptszSQLBuffer, _X("WHERE ")); } memset(tszSQLQuery, '\0', MAX_PATH); - _stprintf(tszSQLQuery, _T("FilePath = '%s'"), lpszFilePath); - _tcscat(ptszSQLBuffer, tszSQLQuery); - bInit = TRUE; + _xstprintf(tszSQLQuery, _X("FilePath = '%s'"), lpszFilePath); + _tcsxcat(ptszSQLBuffer, tszSQLQuery); + bInit = true; } } //文件名称 if (NULL != lpszFileName) { - if (_tcslen(lpszFileName) > 0) + if (_tcsxlen(lpszFileName) > 0) { if (bInit) { - _tcscat(ptszSQLBuffer, _T(" AND ")); + _tcsxcat(ptszSQLBuffer, _X(" AND ")); } else { - _tcscat(ptszSQLBuffer, _T("WHERE ")); + _tcsxcat(ptszSQLBuffer, _X("WHERE ")); } memset(tszSQLQuery, '\0', MAX_PATH); - _stprintf(tszSQLQuery, _T("FileName = '%s'"), lpszFileName); - _tcscat(ptszSQLBuffer, tszSQLQuery); - bInit = TRUE; + _xstprintf(tszSQLQuery, _X("FileName = '%s'"), lpszFileName); + _tcsxcat(ptszSQLBuffer, tszSQLQuery); + bInit = true; } } //文件HASH if (NULL != lpszFileHash) { - if (_tcslen(lpszFileHash) > 0) + if (_tcsxlen(lpszFileHash) > 0) { if (bInit) { - _tcscat(ptszSQLBuffer, _T(" AND ")); + _tcsxcat(ptszSQLBuffer, _X(" AND ")); } else { - _tcscat(ptszSQLBuffer, _T("WHERE ")); + _tcsxcat(ptszSQLBuffer, _X("WHERE ")); } memset(tszSQLQuery, '\0', MAX_PATH); - _stprintf(tszSQLQuery, _T("FileHash = '%s'"), lpszFileHash); - _tcscat(ptszSQLBuffer, tszSQLQuery); - bInit = TRUE; + _xstprintf(tszSQLQuery, _X("FileHash = '%s'"), lpszFileHash); + _tcsxcat(ptszSQLBuffer, tszSQLQuery); + bInit = true; } } //文件所属用户 if (NULL != lpszFileUser) { - if (_tcslen(lpszFileUser) > 0) + if (_tcsxlen(lpszFileUser) > 0) { if (bInit) { - _tcscat(ptszSQLBuffer, _T(" AND ")); + _tcsxcat(ptszSQLBuffer, _X(" AND ")); } else { - _tcscat(ptszSQLBuffer, _T("WHERE ")); + _tcsxcat(ptszSQLBuffer, _X("WHERE ")); } memset(tszSQLQuery, '\0', MAX_PATH); - _stprintf(tszSQLQuery, _T("FileUser = '%s'"), lpszFileUser); - _tcscat(ptszSQLBuffer, tszSQLQuery); - bInit = TRUE; + _xstprintf(tszSQLQuery, _X("FileUser = '%s'"), lpszFileUser); + _tcsxcat(ptszSQLBuffer, tszSQLQuery); + bInit = true; } } //时间范围 if ((NULL != lpszTimeStart) && (NULL != lpszTimeEnd)) { - if ((_tcslen(lpszTimeStart) > 0) && (_tcslen(lpszTimeEnd) > 0)) + if ((_tcsxlen(lpszTimeStart) > 0) && (_tcsxlen(lpszTimeEnd) > 0)) { if (bInit) { - _tcscat(ptszSQLBuffer, _T(" AND ")); + _tcsxcat(ptszSQLBuffer, _X(" AND ")); } else { - _tcscat(ptszSQLBuffer, _T("WHERE ")); + _tcsxcat(ptszSQLBuffer, _X("WHERE ")); } memset(tszSQLQuery, '\0', MAX_PATH); - _stprintf(tszSQLQuery, _T("BETWEEN '%s' AND '%s'"), lpszTimeStart, lpszTimeEnd); - _tcscat(ptszSQLBuffer, tszSQLQuery); - bInit = TRUE; + _xstprintf(tszSQLQuery, _X("BETWEEN '%s' AND '%s'"), lpszTimeStart, lpszTimeEnd); + _tcsxcat(ptszSQLBuffer, tszSQLQuery); + bInit = true; } } - return TRUE; + return true; } \ No newline at end of file diff --git a/XEngine_Source/StorageModule_Database/Database_Help/Database_Help.h b/XEngine_Source/StorageModule_Database/Database_Help/Database_Help.h index 3d281d24a5415b02c2e007786d9ae478156c8fb1..c01e9d2e2ed5f58ddf3ad64897f2b545d75a369d 100644 --- a/XEngine_Source/StorageModule_Database/Database_Help/Database_Help.h +++ b/XEngine_Source/StorageModule_Database/Database_Help/Database_Help.h @@ -17,9 +17,9 @@ public: CDatabase_Help(); ~CDatabase_Help(); public: - BOOL Database_Help_Insert(TCHAR* ptszSQLBuffer, XSTORAGECORE_DBFILE* pSt_DBFile); - BOOL Database_Help_Delete(TCHAR* ptszSQLBuffer, LPCTSTR lpszTableName, LPCTSTR lpszBuckKey = NULL, LPCTSTR lpszFilePath = NULL, LPCTSTR lpszFileName = NULL, LPCTSTR lpszFileHash = NULL); - BOOL Database_Help_Query(TCHAR* ptszSQLBuffer, LPCTSTR lpszTableName, LPCTSTR lpszBuckKey = NULL, LPCTSTR lpszFilePath = NULL, LPCTSTR lpszFileName = NULL, LPCTSTR lpszFileHash = NULL, LPCTSTR lpszFileUser = NULL, LPCTSTR lpszTimeStart = NULL, LPCTSTR lpszTimeEnd = NULL); + bool Database_Help_Insert(XCHAR* ptszSQLBuffer, XSTORAGECORE_DBFILE* pSt_DBFile); + bool Database_Help_Delete(XCHAR* ptszSQLBuffer, LPCXSTR lpszTableName, LPCXSTR lpszBuckKey = NULL, LPCXSTR lpszFilePath = NULL, LPCXSTR lpszFileName = NULL, LPCXSTR lpszFileHash = NULL); + bool Database_Help_Query(XCHAR* ptszSQLBuffer, LPCXSTR lpszTableName, LPCXSTR lpszBuckKey = NULL, LPCXSTR lpszFilePath = NULL, LPCXSTR lpszFileName = NULL, LPCXSTR lpszFileHash = NULL, LPCXSTR lpszFileUser = NULL, LPCXSTR lpszTimeStart = NULL, LPCXSTR lpszTimeEnd = NULL); protected: - BOOL Database_Help_Packet(TCHAR* ptszSQLBuffer, LPCTSTR lpszBuckKey = NULL, LPCTSTR lpszFilePath = NULL, LPCTSTR lpszFileName = NULL, LPCTSTR lpszFileHash = NULL, LPCTSTR lpszFileUser = NULL, LPCTSTR lpszTimeStart = NULL, LPCTSTR lpszTimeEnd = NULL); + bool Database_Help_Packet(XCHAR* ptszSQLBuffer, LPCXSTR lpszBuckKey = NULL, LPCXSTR lpszFilePath = NULL, LPCXSTR lpszFileName = NULL, LPCXSTR lpszFileHash = NULL, LPCXSTR lpszFileUser = NULL, LPCXSTR lpszTimeStart = NULL, LPCXSTR lpszTimeEnd = NULL); }; diff --git a/XEngine_Source/StorageModule_Database/Makefile b/XEngine_Source/StorageModule_Database/Makefile index 6df217f8dfc2ae020b75f9236dd7f8f39eadf6e0..dc651e8b94aebab0d58a665d29dd666879c4be1f 100644 --- a/XEngine_Source/StorageModule_Database/Makefile +++ b/XEngine_Source/StorageModule_Database/Makefile @@ -1,31 +1,23 @@ CC = g++ -Wall -std=c++17 -fPIC -SHAREFLAG = -shared -SHAREDLL = so +PLATFORM = linux +PLATVER = +PLATDIR = +FILEEXT = +LIBFLAG = RELEASE = 0 UNICODE = 0 -INCLUDE = -I ./ -FILECENTOS = /etc/redhat-release -LOADBIN = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_HelpComponents +LOADHDR = -I ./ -I ../XEngine_ThirdPart/jsoncpp +LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_HelpComponents LIB = -lXEngine_BaseLib -lHelpComponents_DataBase -LIBEX = -ldl -LOADSO = -Wl,-rpath=./,--disable-new-dtags -LIBINCLUDE = Database_File.o Database_Help.o pch.o - -ifeq ($(shell uname),Darwin) - SHAREDLL = dylib - SHAREFLAG = -dynamiclib - LOADSO = -else - SHAREDLL = so - SHAREFLAG = -shared -endif +LIBEX = +OBJECTS = Database_File.o Database_Help.o pch.o ifeq ($(RELEASE),1) -FLAGS = -c -O2 +FLAGS = -c DEBUG = else -FLAGS = -c -DEBUG = -g +FLAGS = -c -lc_p +DEBUG = -g -pg endif ifeq ($(UNICODE),1) @@ -34,25 +26,47 @@ else UNICODE = endif -all:$(LIBINCLUDE) - $(CC) $(DEBUG) $(LIBINCLUDE) -o libStorageModule_Database.$(SHAREDLL) $(SHAREFLAG) $(LOADBIN) $(LIB) $(LIBEX) $(LOADSO) +ifeq ($(PLATFORM),linux) + ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release)) + PLATVER = -D __CENTOS__ + PLATDIR = XEngine_Linux/Centos + else + PLATVER = -D __UBUNTU__ + PLATDIR = XEngine_Linux/Ubuntu + endif + FILEEXT = so + LIBFLAG = -shared + LIBEX = -lpthread -lrt -ldl + LOADBIN = -Wl,-rpath=./,--disable-new-dtags +else ifeq ($(PLATFORM),mac) + CC += -Wno-deprecated-declarations + PLATVER = -D __MACOS__ + PLATDIR = XEngine_Mac + FILEEXT = dylib + LIBFLAG = -dynamiclib + LIBEX = -lpthread -ldl + LOADBIN = -Wl,-rpath,@loader_path/./ +endif + +all:$(OBJECTS) + $(CC) $(DEBUG) $(OBJECTS) -o libStorageModule_Database.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN) Database_File.o:./Database_File/Database_File.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(INCLUDE) ./Database_File/Database_File.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Database_File/Database_File.cpp Database_Help.o:./Database_Help/Database_Help.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(INCLUDE) ./Database_Help/Database_Help.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Database_Help/Database_Help.cpp pch.o:pch.cpp $(CC) $(DEBUG) $(FLAGS) $(UNICODE) pch.cpp InstallAll:InstallSo -InstallSo:./libStorageModule_Database.$(SHAREDLL) - cp ./libStorageModule_Database.$(SHAREDLL) ../../XEngine_Release/libStorageModule_Database.$(SHAREDLL) +InstallSo:./libStorageModule_Database.$(FILEEXT) + cp ./libStorageModule_Database.$(FILEEXT) ../../XEngine_Release/libStorageModule_Database.$(FILEEXT) CleanAll:CleanObj CleanMk CleanObj: rm *.o CleanMk: - rm *.$(SHAREDLL) + rm *.$(FILEEXT) diff --git a/XEngine_Source/StorageModule_Database/dllmain.cpp b/XEngine_Source/StorageModule_Database/dllmain.cpp index daed8c8f7ac50ca1466016a0529648d18125a7e7..594ff2123d474b129bb2014fb572f03c9741bf0b 100644 --- a/XEngine_Source/StorageModule_Database/dllmain.cpp +++ b/XEngine_Source/StorageModule_Database/dllmain.cpp @@ -1,9 +1,9 @@ // dllmain.cpp : 定义 DLL 应用程序的入口点。 #include "pch.h" -BOOL APIENTRY DllMain( HMODULE hModule, - DWORD ul_reason_for_call, - LPVOID lpReserved +bool APIENTRY DllMain( HMODULE hModule, + XLONG ul_reason_for_call, + XPVOID lpReserved ) { switch (ul_reason_for_call) @@ -14,6 +14,6 @@ BOOL APIENTRY DllMain( HMODULE hModule, case DLL_PROCESS_DETACH: break; } - return TRUE; + return true; } diff --git a/XEngine_Source/StorageModule_Database/pch.cpp b/XEngine_Source/StorageModule_Database/pch.cpp index 05531078e2b33b459cadaa2490329e53199ef678..2d97e0a3a56209e084f71698c0f4eb0c0e416d2e 100644 --- a/XEngine_Source/StorageModule_Database/pch.cpp +++ b/XEngine_Source/StorageModule_Database/pch.cpp @@ -12,15 +12,15 @@ // Purpose: 导出函数实现 // History: *********************************************************************/ -BOOL Database_IsErrorOccur = FALSE; -DWORD Database_dwErrorCode = 0; +bool Database_IsErrorOccur = false; +XLONG Database_dwErrorCode = 0; ////////////////////////////////////////////////////////////////////////// CDatabase_Help m_SQLHelp; CDatabase_File m_SQLFile; ////////////////////////////////////////////////////////////////////////// /// 导出的函数 ////////////////////////////////////////////////////////////////////////// -extern "C" DWORD Database_GetLastError(int* pInt_SysError) +extern "C" XLONG Database_GetLastError(int* pInt_SysError) { if (NULL != pInt_SysError) { @@ -31,38 +31,38 @@ extern "C" DWORD Database_GetLastError(int* pInt_SysError) /************************************************************************/ /* 导出的数据库帮助函数 */ /************************************************************************/ -extern "C" BOOL Database_Help_Insert(TCHAR * ptszSQLBuffer, XSTORAGECORE_DBFILE * pSt_DBFile) +extern "C" bool Database_Help_Insert(XCHAR * ptszSQLBuffer, XSTORAGECORE_DBFILE * pSt_DBFile) { return m_SQLHelp.Database_Help_Insert(ptszSQLBuffer, pSt_DBFile); } -extern "C" BOOL Database_Help_Delete(TCHAR * ptszSQLBuffer, LPCTSTR lpszTableName, LPCTSTR lpszBuckKey, LPCTSTR lpszFilePath, LPCTSTR lpszFileName, LPCTSTR lpszFileHash) +extern "C" bool Database_Help_Delete(XCHAR * ptszSQLBuffer, LPCXSTR lpszTableName, LPCXSTR lpszBuckKey, LPCXSTR lpszFilePath, LPCXSTR lpszFileName, LPCXSTR lpszFileHash) { return m_SQLHelp.Database_Help_Delete(ptszSQLBuffer, lpszTableName, lpszBuckKey, lpszFilePath, lpszFileName, lpszFileHash); } -extern "C" BOOL Database_Help_Query(TCHAR * ptszSQLBuffer, LPCTSTR lpszTableName, LPCTSTR lpszBuckKey, LPCTSTR lpszFilePath, LPCTSTR lpszFileName, LPCTSTR lpszFileHash, LPCTSTR lpszFileUser, LPCTSTR lpszTimeStart, LPCTSTR lpszTimeEnd) +extern "C" bool Database_Help_Query(XCHAR * ptszSQLBuffer, LPCXSTR lpszTableName, LPCXSTR lpszBuckKey, LPCXSTR lpszFilePath, LPCXSTR lpszFileName, LPCXSTR lpszFileHash, LPCXSTR lpszFileUser, LPCXSTR lpszTimeStart, LPCXSTR lpszTimeEnd) { return m_SQLHelp.Database_Help_Query(ptszSQLBuffer, lpszTableName, lpszBuckKey, lpszFilePath, lpszFileName, lpszFileHash, lpszFileUser, lpszTimeStart, lpszTimeEnd); } /************************************************************************/ /* 导出的数据库操作函数 */ /************************************************************************/ -extern "C" BOOL Database_File_Init(DATABASE_MYSQL_CONNECTINFO * pSt_DBConnector, int nTimeMonth) +extern "C" bool Database_File_Init(DATABASE_MYSQL_CONNECTINFO * pSt_DBConnector, int nTimeMonth) { return m_SQLFile.Database_File_Init(pSt_DBConnector, nTimeMonth); } -extern "C" BOOL Database_File_Destory() +extern "C" bool Database_File_Destory() { return m_SQLFile.Database_File_Destory(); } -extern "C" BOOL Database_File_FileInsert(XSTORAGECORE_DBFILE * pSt_DBManage, BOOL bRewrite) +extern "C" bool Database_File_FileInsert(XSTORAGECORE_DBFILE * pSt_DBManage, bool bRewrite) { return m_SQLFile.Database_File_FileInsert(pSt_DBManage, bRewrite); } -extern "C" BOOL Database_File_FileDelete(LPCTSTR lpszBuckKey, LPCTSTR lpszFilePath, LPCTSTR lpszFileName, LPCTSTR lpszHash) +extern "C" bool Database_File_FileDelete(LPCXSTR lpszBuckKey, LPCXSTR lpszFilePath, LPCXSTR lpszFileName, LPCXSTR lpszHash) { return m_SQLFile.Database_File_FileDelete(lpszBuckKey, lpszFilePath, lpszFileName, lpszHash); } -extern "C" BOOL Database_File_FileQuery(XSTORAGECORE_DBFILE * **pppSt_ListFile, int* pInt_ListCount, LPCTSTR lpszTimeStart, LPCTSTR lpszTimeEnd, LPCTSTR lpszBuckKey, LPCTSTR lpszFilePath, LPCTSTR lpszFileName, LPCTSTR lpszHash, LPCTSTR lpszTableName) +extern "C" bool Database_File_FileQuery(XSTORAGECORE_DBFILE * **pppSt_ListFile, int* pInt_ListCount, LPCXSTR lpszTimeStart, LPCXSTR lpszTimeEnd, LPCXSTR lpszBuckKey, LPCXSTR lpszFilePath, LPCXSTR lpszFileName, LPCXSTR lpszHash, LPCXSTR lpszTableName) { return m_SQLFile.Database_File_FileQuery(pppSt_ListFile, pInt_ListCount, lpszTimeStart, lpszTimeEnd, lpszBuckKey, lpszFilePath, lpszFileName, lpszHash, lpszTableName); } \ No newline at end of file diff --git a/XEngine_Source/StorageModule_Database/pch.h b/XEngine_Source/StorageModule_Database/pch.h index e892df9abf5b1a3480d4dbe4094566127d88fdb8..ebc1754da2d8ab87e37c6dc7976567d25f12b653 100644 --- a/XEngine_Source/StorageModule_Database/pch.h +++ b/XEngine_Source/StorageModule_Database/pch.h @@ -52,8 +52,8 @@ using namespace std; // Purpose: 公用头文件 // History: *********************************************************************/ -extern BOOL Database_IsErrorOccur; -extern DWORD Database_dwErrorCode; +extern bool Database_IsErrorOccur; +extern XLONG Database_dwErrorCode; #ifdef _WINDOWS #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib.lib") diff --git a/XEngine_Source/StorageModule_Protocol/Makefile b/XEngine_Source/StorageModule_Protocol/Makefile index 87b46470f8e5a6d5c10511278bf6a733539987c3..6e218f6a660bccd6a2334e9b9a86d88cbdfaeca6 100644 --- a/XEngine_Source/StorageModule_Protocol/Makefile +++ b/XEngine_Source/StorageModule_Protocol/Makefile @@ -1,31 +1,23 @@ CC = g++ -Wall -std=c++17 -fPIC -SHAREFLAG = -shared -SHAREDLL = so +PLATFORM = linux +PLATVER = +PLATDIR = +FILEEXT = +LIBFLAG = RELEASE = 0 UNICODE = 0 -INCLUDE = -I ./ -I ../XEngine_ThirdPart/jsoncpp -FILECENTOS = /etc/redhat-release -LOADBIN = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L ../XEngine_ThirdPart/jsoncpp +LOADHDR = -I ./ -I ../XEngine_ThirdPart/jsoncpp +LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L ../XEngine_ThirdPart/jsoncpp LIB = -lXEngine_BaseLib -ljsoncpp -LIBEX = -ldl -LOADSO = -Wl,-rpath=./,--disable-new-dtags -LIBINCLUDE = Protocol_StoragePacket.o Protocol_StorageParse.o pch.o - -ifeq ($(shell uname),Darwin) - SHAREDLL = dylib - SHAREFLAG = -dynamiclib - LOADSO = -else - SHAREDLL = so - SHAREFLAG = -shared -endif +LIBEX = +OBJECTS = Protocol_StoragePacket.o Protocol_StorageParse.o pch.o ifeq ($(RELEASE),1) -FLAGS = -c -O2 +FLAGS = -c DEBUG = else -FLAGS = -c -DEBUG = -g +FLAGS = -c -lc_p +DEBUG = -g -pg endif ifeq ($(UNICODE),1) @@ -34,31 +26,47 @@ else UNICODE = endif -ifeq ($(FILECENTOS), $(wildcard $(FILECENTOS))) - UNICODE = -D _CENTOS -else - UNICODE = -D _UBUNTU +ifeq ($(PLATFORM),linux) + ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release)) + PLATVER = -D __CENTOS__ + PLATDIR = XEngine_Linux/Centos + else + PLATVER = -D __UBUNTU__ + PLATDIR = XEngine_Linux/Ubuntu + endif + FILEEXT = so + LIBFLAG = -shared + LIBEX = -lpthread -lrt -ldl + LOADBIN = -Wl,-rpath=./,--disable-new-dtags +else ifeq ($(PLATFORM),mac) + CC += -Wno-deprecated-declarations + PLATVER = -D __MACOS__ + PLATDIR = XEngine_Mac + FILEEXT = dylib + LIBFLAG = -dynamiclib + LIBEX = -lpthread -ldl + LOADBIN = -Wl,-rpath,@loader_path/./ endif -all:$(LIBINCLUDE) - $(CC) $(DEBUG) $(LIBINCLUDE) -o libStorageModule_Protocol.$(SHAREDLL) $(SHAREFLAG) $(LOADBIN) $(LIB) $(LIBEX) $(LOADSO) +all:$(OBJECTS) + $(CC) $(DEBUG) $(OBJECTS) -o libStorageModule_Protocol.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN) Protocol_StoragePacket.o:./Protocol_Packet/Protocol_StoragePacket.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(INCLUDE) ./Protocol_Packet/Protocol_StoragePacket.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Protocol_Packet/Protocol_StoragePacket.cpp Protocol_StorageParse.o:./Protocol_Parse/Protocol_StorageParse.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(INCLUDE) ./Protocol_Parse/Protocol_StorageParse.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Protocol_Parse/Protocol_StorageParse.cpp pch.o:pch.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(INCLUDE) pch.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) pch.cpp InstallAll:InstallSo -InstallSo:./libStorageModule_Protocol.$(SHAREDLL) - cp ./libStorageModule_Protocol.$(SHAREDLL) ../../XEngine_Release/libStorageModule_Protocol.$(SHAREDLL) +InstallSo:./libStorageModule_Protocol.$(FILEEXT) + cp ./libStorageModule_Protocol.$(FILEEXT) ../../XEngine_Release/libStorageModule_Protocol.$(FILEEXT) CleanAll:CleanObj CleanMk CleanObj: rm *.o CleanMk: - rm *.$(SHAREDLL) + rm *.$(FILEEXT) diff --git a/XEngine_Source/StorageModule_Protocol/Protocol_Packet/Protocol_StoragePacket.cpp b/XEngine_Source/StorageModule_Protocol/Protocol_Packet/Protocol_StoragePacket.cpp index 07a953d66c73582e97b50ce34ef43355a78e4bf0..7aa3fdaf451169876a4a9706c14ba4c7498c0fd5 100644 --- a/XEngine_Source/StorageModule_Protocol/Protocol_Packet/Protocol_StoragePacket.cpp +++ b/XEngine_Source/StorageModule_Protocol/Protocol_Packet/Protocol_StoragePacket.cpp @@ -65,15 +65,15 @@ CProtocol_StoragePacket::~CProtocol_StoragePacket() 意思:是否成功 备注: *********************************************************************/ -BOOL CProtocol_StoragePacket::Protocol_StoragePacket_QueryFile(TCHAR* ptszMsgBuffer, int* pInt_MsgLen, XSTORAGECORE_DBFILE*** pppSt_DBFile, int nListCount, LPCTSTR lpszTimeStart /* = NULL */, LPCTSTR lpszTimeEnd /* = NULL */, XNETHANDLE xhToken /* = 0 */) +bool CProtocol_StoragePacket::Protocol_StoragePacket_QueryFile(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XSTORAGECORE_DBFILE*** pppSt_DBFile, int nListCount, LPCXSTR lpszTimeStart /* = NULL */, LPCXSTR lpszTimeEnd /* = NULL */, XNETHANDLE xhToken /* = 0 */) { - Protocol_IsErrorOccur = FALSE; + Protocol_IsErrorOccur = false; if ((NULL == ptszMsgBuffer) || (NULL == pInt_MsgLen) || (NULL == pppSt_DBFile)) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_PARAMENT; - return FALSE; + return false; } Json::Value st_JsonRoot; Json::Value st_JsonArray; @@ -90,7 +90,7 @@ BOOL CProtocol_StoragePacket::Protocol_StoragePacket_QueryFile(TCHAR* ptszMsgBuf st_JsonObject["tszFileTime"] = (*pppSt_DBFile)[i]->st_ProtocolFile.tszFileTime; st_JsonObject["nFileSize"] = (Json::Value::Int64)(*pppSt_DBFile)[i]->st_ProtocolFile.nFileSize; //只有在P2P下取文件列表才有效 - if (_tcslen((*pppSt_DBFile)[i]->tszTableName) > 0) + if (_tcsxlen((*pppSt_DBFile)[i]->tszTableName) > 0) { st_JsonObject["tszTableName"] = (*pppSt_DBFile)[i]->tszTableName; } @@ -111,11 +111,11 @@ BOOL CProtocol_StoragePacket::Protocol_StoragePacket_QueryFile(TCHAR* ptszMsgBuf st_JsonRoot["xhToken"] = (Json::Value::UInt64)xhToken; } st_JsonRoot["Code"] = 0; - st_JsonRoot["Msg"] = _T("ok"); + st_JsonRoot["Msg"] = _X("ok"); //打包输出信息 *pInt_MsgLen = st_JsonRoot.toStyledString().length(); memcpy(ptszMsgBuffer, st_JsonRoot.toStyledString().c_str(), *pInt_MsgLen); - return TRUE; + return true; } /******************************************************************** 函数名称:Protocol_StoragePacket_Info @@ -155,15 +155,15 @@ BOOL CProtocol_StoragePacket::Protocol_StoragePacket_QueryFile(TCHAR* ptszMsgBuf 意思:是否成功 备注: *********************************************************************/ -BOOL CProtocol_StoragePacket::Protocol_StoragePacket_Info(TCHAR* ptszMsgBuffer, int* pInt_MsgLen, SESSION_STORAGEINFO*** pppSt_DLInfo, SESSION_STORAGEINFO*** pppSt_UPInfo, int nDLCount, int nUPCount) +bool CProtocol_StoragePacket::Protocol_StoragePacket_Info(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, SESSION_STORAGEINFO*** pppSt_DLInfo, SESSION_STORAGEINFO*** pppSt_UPInfo, int nDLCount, int nUPCount) { - Protocol_IsErrorOccur = FALSE; + Protocol_IsErrorOccur = false; if ((NULL == pppSt_DLInfo) || (NULL == pppSt_UPInfo)) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_PARAMENT; - return FALSE; + return false; } Json::Value st_JsonRoot; Json::Value st_JsonDLArray; @@ -202,11 +202,11 @@ BOOL CProtocol_StoragePacket::Protocol_StoragePacket_Info(TCHAR* ptszMsgBuffer, st_JsonRoot["UPList"] = st_JsonUPArray; st_JsonRoot["Code"] = 0; - st_JsonRoot["Msg"] = _T("ok"); + st_JsonRoot["Msg"] = _X("ok"); //打包输出信息 *pInt_MsgLen = st_JsonRoot.toStyledString().length(); memcpy(ptszMsgBuffer, st_JsonRoot.toStyledString().c_str(), *pInt_MsgLen); - return TRUE; + return true; } /******************************************************************** 函数名称:XStorageProtocol_Core_REPQueryDir @@ -236,15 +236,15 @@ BOOL CProtocol_StoragePacket::Protocol_StoragePacket_Info(TCHAR* ptszMsgBuffer, 意思:是否成功 备注: *********************************************************************/ -BOOL CProtocol_StoragePacket::Protocol_StoragePacket_DirOperator(TCHAR* ptszMsgBuffer, int* pInt_MsgLen, TCHAR*** pppszListEnum, int nListCount) +bool CProtocol_StoragePacket::Protocol_StoragePacket_DirOperator(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** pppszListEnum, int nListCount) { - Protocol_IsErrorOccur = FALSE; + Protocol_IsErrorOccur = false; if ((NULL == ptszMsgBuffer) || (NULL == pInt_MsgLen)) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_PARAMENT; - return FALSE; + return false; } Json::Value st_JsonRoot; Json::Value st_JsonArray; @@ -258,11 +258,11 @@ BOOL CProtocol_StoragePacket::Protocol_StoragePacket_DirOperator(TCHAR* ptszMsgB st_JsonRoot["Count"] = st_JsonArray.size(); st_JsonRoot["List"] = st_JsonArray; st_JsonRoot["Code"] = 0; - st_JsonRoot["Msg"] = _T("ok"); + st_JsonRoot["Msg"] = _X("ok"); //打包输出信息 *pInt_MsgLen = st_JsonRoot.toStyledString().length(); memcpy(ptszMsgBuffer, st_JsonRoot.toStyledString().c_str(), *pInt_MsgLen); - return TRUE; + return true; } /******************************************************************** 函数名称:Protocol_StoragePacket_BasicAuth @@ -307,15 +307,15 @@ BOOL CProtocol_StoragePacket::Protocol_StoragePacket_DirOperator(TCHAR* ptszMsgB 意思:是否成功 备注: *********************************************************************/ -BOOL CProtocol_StoragePacket::Protocol_StoragePacket_BasicAuth(LPCTSTR lpszMethod, LPCTSTR lpszPostUrl, LPCTSTR lpszClientAddr, LPCTSTR lpszUser, LPCTSTR lpszPass, TCHAR* ptszMsgBuffer, int* pInt_MsgLen) +bool CProtocol_StoragePacket::Protocol_StoragePacket_BasicAuth(LPCXSTR lpszMethod, LPCXSTR lpszPostUrl, LPCXSTR lpszClientAddr, LPCXSTR lpszUser, LPCXSTR lpszPass, XCHAR* ptszMsgBuffer, int* pInt_MsgLen) { - Protocol_IsErrorOccur = FALSE; + Protocol_IsErrorOccur = false; if ((NULL == lpszUser) || (NULL == lpszPass)) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_PARAMENT; - return FALSE; + return false; } Json::Value st_JsonRoot; @@ -326,8 +326,8 @@ BOOL CProtocol_StoragePacket::Protocol_StoragePacket_BasicAuth(LPCTSTR lpszMetho st_JsonRoot["lpszPass"] = lpszPass; *pInt_MsgLen = st_JsonRoot.toStyledString().length(); - _tcscpy(ptszMsgBuffer, st_JsonRoot.toStyledString().c_str()); - return TRUE; + _tcsxcpy(ptszMsgBuffer, st_JsonRoot.toStyledString().c_str()); + return true; } /******************************************************************** 函数名称:Protocol_StoragePacket_UPDown @@ -377,15 +377,15 @@ BOOL CProtocol_StoragePacket::Protocol_StoragePacket_BasicAuth(LPCTSTR lpszMetho 意思:是否成功 备注: *********************************************************************/ -BOOL CProtocol_StoragePacket::Protocol_StoragePacket_UPDown(TCHAR* ptszMsgBuffer, int* pInt_MsgLen, LPCTSTR lpszBuckKey, LPCTSTR lpszFileName, LPCTSTR lpszClientAddr, __int64x nFileSize, BOOL bDown, LPCTSTR lpszFileHash /* = NULL */) +bool CProtocol_StoragePacket::Protocol_StoragePacket_UPDown(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, LPCXSTR lpszBuckKey, LPCXSTR lpszFileName, LPCXSTR lpszClientAddr, __int64x nFileSize, bool bDown, LPCXSTR lpszFileHash /* = NULL */) { - Protocol_IsErrorOccur = FALSE; + Protocol_IsErrorOccur = false; if ((NULL == lpszFileName) || (NULL == lpszClientAddr)) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_PARAMENT; - return FALSE; + return false; } Json::Value st_JsonRoot; @@ -404,8 +404,8 @@ BOOL CProtocol_StoragePacket::Protocol_StoragePacket_UPDown(TCHAR* ptszMsgBuffer } *pInt_MsgLen = st_JsonRoot.toStyledString().length(); - _tcscpy(ptszMsgBuffer, st_JsonRoot.toStyledString().c_str()); - return TRUE; + _tcsxcpy(ptszMsgBuffer, st_JsonRoot.toStyledString().c_str()); + return true; } /******************************************************************** 函数名称:Protocol_StoragePacket_REQFile @@ -440,15 +440,15 @@ BOOL CProtocol_StoragePacket::Protocol_StoragePacket_UPDown(TCHAR* ptszMsgBuffer 意思:是否成功 备注: *********************************************************************/ -BOOL CProtocol_StoragePacket::Protocol_StoragePacket_REQFile(TCHAR* ptszMsgBuffer, int* pInt_MsgLen, LPCTSTR lpszFileName /* = NULL */, LPCTSTR lpszFileHash /* = NULL */, XNETHANDLE xhToken /* = 0 */) +bool CProtocol_StoragePacket::Protocol_StoragePacket_REQFile(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, LPCXSTR lpszFileName /* = NULL */, LPCXSTR lpszFileHash /* = NULL */, XNETHANDLE xhToken /* = 0 */) { - Protocol_IsErrorOccur = FALSE; + Protocol_IsErrorOccur = false; if ((NULL == ptszMsgBuffer) || (NULL == pInt_MsgLen)) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_PARAMENT; - return FALSE; + return false; } Json::Value st_JsonRoot; if (NULL != lpszFileName) @@ -468,5 +468,5 @@ BOOL CProtocol_StoragePacket::Protocol_StoragePacket_REQFile(TCHAR* ptszMsgBuffe //打包输出信息 *pInt_MsgLen = st_JsonRoot.toStyledString().length(); memcpy(ptszMsgBuffer, st_JsonRoot.toStyledString().c_str(), *pInt_MsgLen); - return TRUE; + return true; } \ No newline at end of file diff --git a/XEngine_Source/StorageModule_Protocol/Protocol_Packet/Protocol_StoragePacket.h b/XEngine_Source/StorageModule_Protocol/Protocol_Packet/Protocol_StoragePacket.h index 05cb63044f1eae45e63865d1814b31083bd8bb5b..879d1b2f2ad8c1e1aecaa6c2c15b2af30d6c9da2 100644 --- a/XEngine_Source/StorageModule_Protocol/Protocol_Packet/Protocol_StoragePacket.h +++ b/XEngine_Source/StorageModule_Protocol/Protocol_Packet/Protocol_StoragePacket.h @@ -17,10 +17,10 @@ public: CProtocol_StoragePacket(); ~CProtocol_StoragePacket(); public: - BOOL Protocol_StoragePacket_QueryFile(TCHAR* ptszMsgBuffer, int* pInt_MsgLen, XSTORAGECORE_DBFILE*** pppSt_DBFile, int nListCount, LPCTSTR lpszTimeStart = NULL, LPCTSTR lpszTimeEnd = NULL, XNETHANDLE xhToken = 0); - BOOL Protocol_StoragePacket_Info(TCHAR* ptszMsgBuffer, int* pInt_MsgLen, SESSION_STORAGEINFO*** pppSt_DLInfo, SESSION_STORAGEINFO*** pppSt_UPInfo, int nDLCount, int nUPCount); - BOOL Protocol_StoragePacket_DirOperator(TCHAR* ptszMsgBuffer, int* pInt_MsgLen, TCHAR*** pppszListEnum, int nListCount); - BOOL Protocol_StoragePacket_BasicAuth(LPCTSTR lpszMethod, LPCTSTR lpszPostUrl, LPCTSTR lpszClientAddr, LPCTSTR lpszUser, LPCTSTR lpszPass, TCHAR* ptszMsgBuffer, int* pInt_MsgLen); - BOOL Protocol_StoragePacket_UPDown(TCHAR* ptszMsgBuffer, int* pInt_MsgLen, LPCTSTR lpszBuckKey, LPCTSTR lpszFileName, LPCTSTR lpszClientAddr, __int64x nFileSize, BOOL bDown, LPCTSTR lpszFileHash = NULL); - BOOL Protocol_StoragePacket_REQFile(TCHAR* ptszMsgBuffer, int* pInt_MsgLen, LPCTSTR lpszFileName = NULL, LPCTSTR lpszFileHash = NULL, XNETHANDLE xhToken = 0); + bool Protocol_StoragePacket_QueryFile(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XSTORAGECORE_DBFILE*** pppSt_DBFile, int nListCount, LPCXSTR lpszTimeStart = NULL, LPCXSTR lpszTimeEnd = NULL, XNETHANDLE xhToken = 0); + bool Protocol_StoragePacket_Info(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, SESSION_STORAGEINFO*** pppSt_DLInfo, SESSION_STORAGEINFO*** pppSt_UPInfo, int nDLCount, int nUPCount); + bool Protocol_StoragePacket_DirOperator(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, XCHAR*** pppszListEnum, int nListCount); + bool Protocol_StoragePacket_BasicAuth(LPCXSTR lpszMethod, LPCXSTR lpszPostUrl, LPCXSTR lpszClientAddr, LPCXSTR lpszUser, LPCXSTR lpszPass, XCHAR* ptszMsgBuffer, int* pInt_MsgLen); + bool Protocol_StoragePacket_UPDown(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, LPCXSTR lpszBuckKey, LPCXSTR lpszFileName, LPCXSTR lpszClientAddr, __int64x nFileSize, bool bDown, LPCXSTR lpszFileHash = NULL); + bool Protocol_StoragePacket_REQFile(XCHAR* ptszMsgBuffer, int* pInt_MsgLen, LPCXSTR lpszFileName = NULL, LPCXSTR lpszFileHash = NULL, XNETHANDLE xhToken = 0); }; diff --git a/XEngine_Source/StorageModule_Protocol/Protocol_Parse/Protocol_StorageParse.cpp b/XEngine_Source/StorageModule_Protocol/Protocol_Parse/Protocol_StorageParse.cpp index 43cc634f0940ea9727b9f582763f1641725ca2ae..722f90d8e31a55470ff67aaa150b95cc50c29c0a 100644 --- a/XEngine_Source/StorageModule_Protocol/Protocol_Parse/Protocol_StorageParse.cpp +++ b/XEngine_Source/StorageModule_Protocol/Protocol_Parse/Protocol_StorageParse.cpp @@ -70,15 +70,15 @@ CProtocol_StorageParse::~CProtocol_StorageParse() 意思:是否成功 备注: *********************************************************************/ -BOOL CProtocol_StorageParse::Protocol_StorageParse_QueryFile(LPCTSTR lpszMsgBuffer, TCHAR* ptszTimeStart, TCHAR* ptszTimeEnd, TCHAR* ptszBuckKey /* = NULL */, TCHAR* ptszFileName /* = NULL */, TCHAR* ptszFileHash /* = NULL */, int* pInt_Mode /* = NULL */, XNETHANDLE* pxhToken /* = NULL */) +bool CProtocol_StorageParse::Protocol_StorageParse_QueryFile(LPCXSTR lpszMsgBuffer, XCHAR* ptszTimeStart, XCHAR* ptszTimeEnd, XCHAR* ptszBuckKey /* = NULL */, XCHAR* ptszFileName /* = NULL */, XCHAR* ptszFileHash /* = NULL */, int* pInt_Mode /* = NULL */, XNETHANDLE* pxhToken /* = NULL */) { - Protocol_IsErrorOccur = FALSE; + Protocol_IsErrorOccur = false; if (NULL == lpszMsgBuffer) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_PARAMENT; - return FALSE; + return false; } Json::Value st_JsonRoot; Json::CharReaderBuilder st_JsonBuild; @@ -86,11 +86,11 @@ BOOL CProtocol_StorageParse::Protocol_StorageParse_QueryFile(LPCTSTR lpszMsgBuff JSONCPP_STRING st_JsonError; //解析JSON - if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + _tcslen(lpszMsgBuffer), &st_JsonRoot, &st_JsonError)) + if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + _tcsxlen(lpszMsgBuffer), &st_JsonRoot, &st_JsonError)) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_PARSE; - return FALSE; + return false; } delete pSt_JsonReader; pSt_JsonReader = NULL; @@ -99,35 +99,35 @@ BOOL CProtocol_StorageParse::Protocol_StorageParse_QueryFile(LPCTSTR lpszMsgBuff { if (!st_JsonRoot["lpszTimeStart"].isNull()) { - _tcscpy(ptszTimeStart, st_JsonRoot["lpszTimeStart"].asCString()); + _tcsxcpy(ptszTimeStart, st_JsonRoot["lpszTimeStart"].asCString()); } } if (NULL != ptszTimeEnd) { if (!st_JsonRoot["lpszTimeEnd"].isNull()) { - _tcscpy(ptszTimeEnd, st_JsonRoot["lpszTimeEnd"].asCString()); + _tcsxcpy(ptszTimeEnd, st_JsonRoot["lpszTimeEnd"].asCString()); } } if (NULL != ptszFileName) { if (!st_JsonRoot["lpszFileName"].isNull()) { - _tcscpy(ptszFileName, st_JsonRoot["lpszFileName"].asCString()); + _tcsxcpy(ptszFileName, st_JsonRoot["lpszFileName"].asCString()); } } if (NULL != ptszFileHash) { if (!st_JsonRoot["lpszFileHash"].isNull()) { - _tcscpy(ptszFileHash, st_JsonRoot["lpszFileHash"].asCString()); + _tcsxcpy(ptszFileHash, st_JsonRoot["lpszFileHash"].asCString()); } } if (NULL != ptszBuckKey) { if (!st_JsonRoot["lpszBuckKey"].isNull()) { - _tcscpy(ptszBuckKey, st_JsonRoot["lpszBuckKey"].asCString()); + _tcsxcpy(ptszBuckKey, st_JsonRoot["lpszBuckKey"].asCString()); } } if (NULL != pInt_Mode) @@ -144,7 +144,7 @@ BOOL CProtocol_StorageParse::Protocol_StorageParse_QueryFile(LPCTSTR lpszMsgBuff *pxhToken = st_JsonRoot["xhToken"].asUInt64(); } } - return TRUE; + return true; } /******************************************************************** 函数名称:Protocol_StorageParse_ReportFile @@ -174,9 +174,9 @@ BOOL CProtocol_StorageParse::Protocol_StorageParse_QueryFile(LPCTSTR lpszMsgBuff 意思:是否成功 备注: *********************************************************************/ -BOOL CProtocol_StorageParse::Protocol_StorageParse_ReportFile(LPCTSTR lpszMsgBuffer, int nMsgLen, XSTORAGECORE_DBFILE*** pppSt_DBFile, int *pInt_ListCount) +bool CProtocol_StorageParse::Protocol_StorageParse_ReportFile(LPCXSTR lpszMsgBuffer, int nMsgLen, XSTORAGECORE_DBFILE*** pppSt_DBFile, int *pInt_ListCount) { - Protocol_IsErrorOccur = FALSE; + Protocol_IsErrorOccur = false; Json::Value st_JsonRoot; Json::CharReaderBuilder st_JsonBuild; @@ -186,9 +186,9 @@ BOOL CProtocol_StorageParse::Protocol_StorageParse_ReportFile(LPCTSTR lpszMsgBuf //解析JSON if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + nMsgLen, &st_JsonRoot, &st_JsonError)) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_PARSE; - return FALSE; + return false; } delete pSt_JsonReader; pSt_JsonReader = NULL; @@ -210,31 +210,31 @@ BOOL CProtocol_StorageParse::Protocol_StorageParse_ReportFile(LPCTSTR lpszMsgBuf if (!st_JsonArray[i]["tszBuckKey"].isNull()) { - _tcscpy((*pppSt_DBFile)[i]->tszBuckKey, st_JsonArray[i]["tszBuckKey"].asCString()); + _tcsxcpy((*pppSt_DBFile)[i]->tszBuckKey, st_JsonArray[i]["tszBuckKey"].asCString()); } if (!st_JsonArray[i]["tszFileName"].isNull()) { - _tcscpy((*pppSt_DBFile)[i]->st_ProtocolFile.tszFileName, st_JsonArray[i]["tszFileName"].asCString()); + _tcsxcpy((*pppSt_DBFile)[i]->st_ProtocolFile.tszFileName, st_JsonArray[i]["tszFileName"].asCString()); } if (!st_JsonArray[i]["tszFilePath"].isNull()) { - _tcscpy((*pppSt_DBFile)[i]->st_ProtocolFile.tszFilePath, st_JsonArray[i]["tszFilePath"].asCString()); + _tcsxcpy((*pppSt_DBFile)[i]->st_ProtocolFile.tszFilePath, st_JsonArray[i]["tszFilePath"].asCString()); } if (!st_JsonArray[i]["tszFileHash"].isNull()) { - _tcscpy((*pppSt_DBFile)[i]->st_ProtocolFile.tszFileHash, st_JsonArray[i]["tszFileHash"].asCString()); + _tcsxcpy((*pppSt_DBFile)[i]->st_ProtocolFile.tszFileHash, st_JsonArray[i]["tszFileHash"].asCString()); } if (!st_JsonArray[i]["tszFileTime"].isNull()) { - _tcscpy((*pppSt_DBFile)[i]->st_ProtocolFile.tszFileTime, st_JsonArray[i]["tszFileTime"].asCString()); + _tcsxcpy((*pppSt_DBFile)[i]->st_ProtocolFile.tszFileTime, st_JsonArray[i]["tszFileTime"].asCString()); } if (!st_JsonArray[i]["tszFileUser"].isNull()) { - _tcscpy((*pppSt_DBFile)[i]->st_ProtocolFile.tszFileUser, st_JsonArray[i]["tszFileUser"].asCString()); + _tcsxcpy((*pppSt_DBFile)[i]->st_ProtocolFile.tszFileUser, st_JsonArray[i]["tszFileUser"].asCString()); } } *pInt_ListCount = nCount; - return TRUE; + return true; } /******************************************************************** 函数名称:Protocol_StorageParse_DirOperator @@ -264,15 +264,15 @@ BOOL CProtocol_StorageParse::Protocol_StorageParse_ReportFile(LPCTSTR lpszMsgBuf 意思:是否成功 备注: *********************************************************************/ -BOOL CProtocol_StorageParse::Protocol_StorageParse_DirOperator(LPCTSTR lpszMsgBuffer, TCHAR* ptszUserDir, TCHAR* ptszBuckKey, int* pInt_Operator) +bool CProtocol_StorageParse::Protocol_StorageParse_DirOperator(LPCXSTR lpszMsgBuffer, XCHAR* ptszUserDir, XCHAR* ptszBuckKey, int* pInt_Operator) { - Protocol_IsErrorOccur = FALSE; + Protocol_IsErrorOccur = false; if ((NULL == lpszMsgBuffer) || (NULL == ptszUserDir)) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_PARAMENT; - return FALSE; + return false; } Json::Value st_JsonRoot; Json::CharReaderBuilder st_JsonBuild; @@ -280,22 +280,22 @@ BOOL CProtocol_StorageParse::Protocol_StorageParse_DirOperator(LPCTSTR lpszMsgBu JSONCPP_STRING st_JsonError; //解析JSON - if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + _tcslen(lpszMsgBuffer), &st_JsonRoot, &st_JsonError)) + if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + _tcsxlen(lpszMsgBuffer), &st_JsonRoot, &st_JsonError)) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_PARSE; - return FALSE; + return false; } delete pSt_JsonReader; pSt_JsonReader = NULL; *pInt_Operator = st_JsonRoot["nOPerator"].asInt(); - _tcscpy(ptszBuckKey, st_JsonRoot["lpszBuckKey"].asCString()); + _tcsxcpy(ptszBuckKey, st_JsonRoot["lpszBuckKey"].asCString()); if (!st_JsonRoot["lpszUserDir"].isNull()) { - _tcscpy(ptszUserDir, st_JsonRoot["lpszUserDir"].asCString()); + _tcsxcpy(ptszUserDir, st_JsonRoot["lpszUserDir"].asCString()); } - return TRUE; + return true; } /******************************************************************** 函数名称:Protocol_StorageParse_ProxyNotify @@ -340,15 +340,15 @@ BOOL CProtocol_StorageParse::Protocol_StorageParse_DirOperator(LPCTSTR lpszMsgBu 意思:是否成功 备注: *********************************************************************/ -BOOL CProtocol_StorageParse::Protocol_StorageParse_ProxyNotify(LPCTSTR lpszMsgBuffer, int nMsgLen, TCHAR* ptszClientAddr, TCHAR* ptszBuckKey, TCHAR* ptszFileName, TCHAR* ptszFileHash, __int64x* pInt_FileSize) +bool CProtocol_StorageParse::Protocol_StorageParse_ProxyNotify(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszClientAddr, XCHAR* ptszBuckKey, XCHAR* ptszFileName, XCHAR* ptszFileHash, __int64x* pInt_FileSize) { - Protocol_IsErrorOccur = FALSE; + Protocol_IsErrorOccur = false; if ((NULL == lpszMsgBuffer) || (NULL == ptszClientAddr)) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_PARAMENT; - return FALSE; + return false; } Json::Value st_JsonRoot; Json::CharReaderBuilder st_JsonBuild; @@ -356,22 +356,22 @@ BOOL CProtocol_StorageParse::Protocol_StorageParse_ProxyNotify(LPCTSTR lpszMsgBu JSONCPP_STRING st_JsonError; //解析JSON - if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + _tcslen(lpszMsgBuffer), &st_JsonRoot, &st_JsonError)) + if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + _tcsxlen(lpszMsgBuffer), &st_JsonRoot, &st_JsonError)) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_PARSE; - return FALSE; + return false; } delete pSt_JsonReader; pSt_JsonReader = NULL; - _tcscpy(ptszClientAddr, st_JsonRoot["lpszClientAddr"].asCString()); - _tcscpy(ptszFileName, st_JsonRoot["lpszFileName"].asCString()); - _tcscpy(ptszFileHash, st_JsonRoot["lpszFileHash"].asCString()); - _tcscpy(ptszBuckKey, st_JsonRoot["lpszBuckKey"].asCString()); + _tcsxcpy(ptszClientAddr, st_JsonRoot["lpszClientAddr"].asCString()); + _tcsxcpy(ptszFileName, st_JsonRoot["lpszFileName"].asCString()); + _tcsxcpy(ptszFileHash, st_JsonRoot["lpszFileHash"].asCString()); + _tcsxcpy(ptszBuckKey, st_JsonRoot["lpszBuckKey"].asCString()); *pInt_FileSize = st_JsonRoot["nFileSize"].asInt64(); - return TRUE; + return true; } /******************************************************************** 函数名称:Protocol_StorageParse_SpeedLimit @@ -401,15 +401,15 @@ BOOL CProtocol_StorageParse::Protocol_StorageParse_ProxyNotify(LPCTSTR lpszMsgBu 意思:是否成功 备注: *********************************************************************/ -BOOL CProtocol_StorageParse::Protocol_StorageParse_SpeedLimit(LPCTSTR lpszMsgBuffer, int nMsgLen, int* pInt_Code, int* pInt_Limit) +bool CProtocol_StorageParse::Protocol_StorageParse_SpeedLimit(LPCXSTR lpszMsgBuffer, int nMsgLen, int* pInt_Code, int* pInt_Limit) { - Protocol_IsErrorOccur = FALSE; + Protocol_IsErrorOccur = false; if ((NULL == lpszMsgBuffer) || (NULL == pInt_Limit)) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_PARAMENT; - return FALSE; + return false; } Json::Value st_JsonRoot; Json::CharReaderBuilder st_JsonBuild; @@ -417,18 +417,18 @@ BOOL CProtocol_StorageParse::Protocol_StorageParse_SpeedLimit(LPCTSTR lpszMsgBuf JSONCPP_STRING st_JsonError; //解析JSON - if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + _tcslen(lpszMsgBuffer), &st_JsonRoot, &st_JsonError)) + if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + _tcsxlen(lpszMsgBuffer), &st_JsonRoot, &st_JsonError)) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_PARSE; - return FALSE; + return false; } delete pSt_JsonReader; pSt_JsonReader = NULL; *pInt_Code = st_JsonRoot["code"].asInt(); *pInt_Limit = st_JsonRoot["nLimitSpeed"].asInt(); - return TRUE; + return true; } /******************************************************************** 函数名称:Protocol_StorageParse_P2PToken @@ -453,15 +453,15 @@ BOOL CProtocol_StorageParse::Protocol_StorageParse_SpeedLimit(LPCTSTR lpszMsgBuf 意思:是否成功 备注: *********************************************************************/ -BOOL CProtocol_StorageParse::Protocol_StorageParse_P2PToken(LPCTSTR lpszMsgBuffer, int nMsgLen, XNETHANDLE *pxhToken) +bool CProtocol_StorageParse::Protocol_StorageParse_P2PToken(LPCXSTR lpszMsgBuffer, int nMsgLen, XNETHANDLE *pxhToken) { - Protocol_IsErrorOccur = FALSE; + Protocol_IsErrorOccur = false; if ((NULL == lpszMsgBuffer)) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_PARAMENT; - return FALSE; + return false; } Json::Value st_JsonRoot; Json::CharReaderBuilder st_JsonBuild; @@ -469,21 +469,21 @@ BOOL CProtocol_StorageParse::Protocol_StorageParse_P2PToken(LPCTSTR lpszMsgBuffe JSONCPP_STRING st_JsonError; //解析JSON - if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + _tcslen(lpszMsgBuffer), &st_JsonRoot, &st_JsonError)) + if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + _tcsxlen(lpszMsgBuffer), &st_JsonRoot, &st_JsonError)) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_PARSE; - return FALSE; + return false; } delete pSt_JsonReader; pSt_JsonReader = NULL; if (st_JsonRoot["xhToken"].isNull()) { - Protocol_IsErrorOccur = TRUE; + Protocol_IsErrorOccur = true; Protocol_dwErrorCode = ERROR_XENGINE_STORAGE_PROTOCOL_TOKEN; - return FALSE; + return false; } *pxhToken = st_JsonRoot["xhToken"].asUInt64(); - return TRUE; + return true; } \ No newline at end of file diff --git a/XEngine_Source/StorageModule_Protocol/Protocol_Parse/Protocol_StorageParse.h b/XEngine_Source/StorageModule_Protocol/Protocol_Parse/Protocol_StorageParse.h index 765a70fd95f83564a6ffb1f353ca289e8dba9f1d..76bcd46bab8a8fe927a61ddb2a33ac51a4fe8cad 100644 --- a/XEngine_Source/StorageModule_Protocol/Protocol_Parse/Protocol_StorageParse.h +++ b/XEngine_Source/StorageModule_Protocol/Protocol_Parse/Protocol_StorageParse.h @@ -17,10 +17,10 @@ public: CProtocol_StorageParse(); ~CProtocol_StorageParse(); public: - BOOL Protocol_StorageParse_QueryFile(LPCTSTR lpszMsgBuffer, TCHAR* ptszTimeStart, TCHAR* ptszTimeEnd, TCHAR* ptszBuckKey = NULL, TCHAR* ptszFileName = NULL, TCHAR* ptszFileHash = NULL, int* pInt_Mode = NULL, XNETHANDLE* pxhToken = NULL); - BOOL Protocol_StorageParse_ReportFile(LPCTSTR lpszMsgBuffer, int nMsgLen, XSTORAGECORE_DBFILE*** pppSt_DBFile, int* pInt_ListCount); - BOOL Protocol_StorageParse_DirOperator(LPCTSTR lpszMsgBuffer, TCHAR* ptszUserDir, TCHAR* ptszBuckKey, int* pInt_Operator); - BOOL Protocol_StorageParse_ProxyNotify(LPCTSTR lpszMsgBuffer, int nMsgLen, TCHAR* ptszClientAddr, TCHAR* ptszBuckKey, TCHAR* ptszFileName, TCHAR* ptszFileHash, __int64x* pInt_FileSize); - BOOL Protocol_StorageParse_SpeedLimit(LPCTSTR lpszMsgBuffer, int nMsgLen, int* pInt_Code, int* pInt_Limit); - BOOL Protocol_StorageParse_P2PToken(LPCTSTR lpszMsgBuffer, int nMsgLen, XNETHANDLE* pxhToken); + bool Protocol_StorageParse_QueryFile(LPCXSTR lpszMsgBuffer, XCHAR* ptszTimeStart, XCHAR* ptszTimeEnd, XCHAR* ptszBuckKey = NULL, XCHAR* ptszFileName = NULL, XCHAR* ptszFileHash = NULL, int* pInt_Mode = NULL, XNETHANDLE* pxhToken = NULL); + bool Protocol_StorageParse_ReportFile(LPCXSTR lpszMsgBuffer, int nMsgLen, XSTORAGECORE_DBFILE*** pppSt_DBFile, int* pInt_ListCount); + bool Protocol_StorageParse_DirOperator(LPCXSTR lpszMsgBuffer, XCHAR* ptszUserDir, XCHAR* ptszBuckKey, int* pInt_Operator); + bool Protocol_StorageParse_ProxyNotify(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR* ptszClientAddr, XCHAR* ptszBuckKey, XCHAR* ptszFileName, XCHAR* ptszFileHash, __int64x* pInt_FileSize); + bool Protocol_StorageParse_SpeedLimit(LPCXSTR lpszMsgBuffer, int nMsgLen, int* pInt_Code, int* pInt_Limit); + bool Protocol_StorageParse_P2PToken(LPCXSTR lpszMsgBuffer, int nMsgLen, XNETHANDLE* pxhToken); }; diff --git a/XEngine_Source/StorageModule_Protocol/StorageProtocol_Define.h b/XEngine_Source/StorageModule_Protocol/StorageProtocol_Define.h index c4e7c453e103a25b51786a65d316bb20f7e0307b..eacfe0534ea9e1ee7f8e1f659b82c5a50e3983fa 100644 --- a/XEngine_Source/StorageModule_Protocol/StorageProtocol_Define.h +++ b/XEngine_Source/StorageModule_Protocol/StorageProtocol_Define.h @@ -13,7 +13,7 @@ ////////////////////////////////////////////////////////////////////////// // 导出函数 ////////////////////////////////////////////////////////////////////////// -extern "C" DWORD Protocol_GetLastError(int *pInt_ErrorCode = NULL); +extern "C" XLONG Protocol_GetLastError(int *pInt_ErrorCode = NULL); /************************************************************************/ /* 解析协议导出 */ /************************************************************************/ @@ -60,7 +60,7 @@ extern "C" DWORD Protocol_GetLastError(int *pInt_ErrorCode = NULL); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Protocol_StorageParse_ProxyNotify(LPCTSTR lpszMsgBuffer, int nMsgLen, TCHAR * ptszClientAddr, TCHAR * ptszBuckKey, TCHAR * ptszFileName, TCHAR * ptszFileHash, __int64x * pInt_FileSize); +extern "C" bool Protocol_StorageParse_ProxyNotify(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR * ptszClientAddr, XCHAR * ptszBuckKey, XCHAR * ptszFileName, XCHAR * ptszFileHash, __int64x * pInt_FileSize); /******************************************************************** 函数名称:Protocol_StorageParse_QueryFile 函数功能:文件查询请求解析函数 @@ -109,7 +109,7 @@ extern "C" BOOL Protocol_StorageParse_ProxyNotify(LPCTSTR lpszMsgBuffer, int nMs 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Protocol_StorageParse_QueryFile(LPCSTR lpszMsgBuffer, CHAR * ptszTimeStart, CHAR * ptszTimeEnd, CHAR * ptszBuckKey = NULL, CHAR * ptszFileName = NULL, CHAR * ptszFileHash = NULL, int* pInt_Mode = NULL, XNETHANDLE * pxhToken = NULL); +extern "C" bool Protocol_StorageParse_QueryFile(LPCXSTR lpszMsgBuffer, XCHAR * ptszTimeStart, XCHAR * ptszTimeEnd, XCHAR * ptszBuckKey = NULL, XCHAR * ptszFileName = NULL, XCHAR * ptszFileHash = NULL, int* pInt_Mode = NULL, XNETHANDLE * pxhToken = NULL); /******************************************************************** 函数名称:Protocol_StorageParse_ReportFile 函数功能:解析文件报告协议 @@ -138,7 +138,7 @@ extern "C" BOOL Protocol_StorageParse_QueryFile(LPCSTR lpszMsgBuffer, CHAR * pts 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Protocol_StorageParse_ReportFile(LPCTSTR lpszMsgBuffer, int nMsgLen, XSTORAGECORE_DBFILE * **pppSt_DBFile, int* pInt_ListCount); +extern "C" bool Protocol_StorageParse_ReportFile(LPCXSTR lpszMsgBuffer, int nMsgLen, XSTORAGECORE_DBFILE * **pppSt_DBFile, int* pInt_ListCount); /******************************************************************** 函数名称:Protocol_StorageParse_DirOperator 函数功能:文件夹操作协议 @@ -167,7 +167,7 @@ extern "C" BOOL Protocol_StorageParse_ReportFile(LPCTSTR lpszMsgBuffer, int nMsg 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Protocol_StorageParse_DirOperator(LPCSTR lpszMsgBuffer, CHAR * ptszUserDir, TCHAR * ptszBuckKey, int* pInt_Operator); +extern "C" bool Protocol_StorageParse_DirOperator(LPCXSTR lpszMsgBuffer, XCHAR * ptszUserDir, XCHAR * ptszBuckKey, int* pInt_Operator); /******************************************************************** 函数名称:Protocol_StorageParse_SpeedLimit 函数功能:速度限制请求解析函数 @@ -196,7 +196,7 @@ extern "C" BOOL Protocol_StorageParse_DirOperator(LPCSTR lpszMsgBuffer, CHAR * p 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Protocol_StorageParse_SpeedLimit(LPCTSTR lpszMsgBuffer, int nMsgLen, int* pInt_Code, int* pInt_Limit); +extern "C" bool Protocol_StorageParse_SpeedLimit(LPCXSTR lpszMsgBuffer, int nMsgLen, int* pInt_Code, int* pInt_Limit); /******************************************************************** 函数名称:Protocol_StorageParse_P2PToken 函数功能:P2P查找文件TOKEN匹配函数 @@ -220,7 +220,7 @@ extern "C" BOOL Protocol_StorageParse_SpeedLimit(LPCTSTR lpszMsgBuffer, int nMsg 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Protocol_StorageParse_P2PToken(LPCTSTR lpszMsgBuffer, int nMsgLen, XNETHANDLE* pxhToken); +extern "C" bool Protocol_StorageParse_P2PToken(LPCXSTR lpszMsgBuffer, int nMsgLen, XNETHANDLE* pxhToken); /************************************************************************/ /* 打包协议导出 */ /************************************************************************/ @@ -267,7 +267,7 @@ extern "C" BOOL Protocol_StorageParse_P2PToken(LPCTSTR lpszMsgBuffer, int nMsgLe 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Protocol_StoragePacket_BasicAuth(LPCTSTR lpszMethod, LPCTSTR lpszPostUrl, LPCTSTR lpszClientAddr, LPCTSTR lpszUser, LPCTSTR lpszPass, TCHAR * ptszMsgBuffer, int* pInt_MsgLen); +extern "C" bool Protocol_StoragePacket_BasicAuth(LPCXSTR lpszMethod, LPCXSTR lpszPostUrl, LPCXSTR lpszClientAddr, LPCXSTR lpszUser, LPCXSTR lpszPass, XCHAR * ptszMsgBuffer, int* pInt_MsgLen); /******************************************************************** 函数名称:Protocol_StoragePacket_UPDown 函数功能:上传下载完成代理通知协议 @@ -316,7 +316,7 @@ extern "C" BOOL Protocol_StoragePacket_BasicAuth(LPCTSTR lpszMethod, LPCTSTR lps 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Protocol_StoragePacket_UPDown(TCHAR * ptszMsgBuffer, int* pInt_MsgLen, LPCTSTR lpszBuckKey, LPCTSTR lpszFileName, LPCTSTR lpszClientAddr, __int64x nFileSize, BOOL bDown, LPCTSTR lpszFileHash = NULL); +extern "C" bool Protocol_StoragePacket_UPDown(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, LPCXSTR lpszBuckKey, LPCXSTR lpszFileName, LPCXSTR lpszClientAddr, __int64x nFileSize, bool bDown, LPCXSTR lpszFileHash = NULL); /******************************************************************** 函数名称:Protocol_StorageParse_QueryFile 函数功能:查询回复打包协议 @@ -360,7 +360,7 @@ extern "C" BOOL Protocol_StoragePacket_UPDown(TCHAR * ptszMsgBuffer, int* pInt_M 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Protocol_StoragePacket_QueryFile(CHAR * ptszMsgBuffer, int* pInt_MsgLen, XSTORAGECORE_DBFILE * **pppSt_DBFile, int nListCount, LPCSTR lpszTimeStart = NULL, LPCSTR lpszTimeEnd = NULL, XNETHANDLE xhToken = 0); +extern "C" bool Protocol_StoragePacket_QueryFile(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XSTORAGECORE_DBFILE * **pppSt_DBFile, int nListCount, LPCXSTR lpszTimeStart = NULL, LPCXSTR lpszTimeEnd = NULL, XNETHANDLE xhToken = 0); /******************************************************************** 函数名称:Protocol_StoragePacket_Info 函数功能:返回信息获取请求打包函数 @@ -399,7 +399,7 @@ extern "C" BOOL Protocol_StoragePacket_QueryFile(CHAR * ptszMsgBuffer, int* pInt 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Protocol_StoragePacket_Info(TCHAR * ptszMsgBuffer, int* pInt_MsgLen, SESSION_STORAGEINFO * **pppSt_DLInfo, SESSION_STORAGEINFO * **pppSt_UPInfo, int nDLCount, int nUPCount); +extern "C" bool Protocol_StoragePacket_Info(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, SESSION_STORAGEINFO * **pppSt_DLInfo, SESSION_STORAGEINFO * **pppSt_UPInfo, int nDLCount, int nUPCount); /******************************************************************** 函数名称:Protocol_StoragePacket_DirOperator 函数功能:查询用户目录 @@ -428,7 +428,7 @@ extern "C" BOOL Protocol_StoragePacket_Info(TCHAR * ptszMsgBuffer, int* pInt_Msg 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Protocol_StoragePacket_DirOperator(CHAR * ptszMsgBuffer, int* pInt_MsgLen, CHAR * **pppszListEnum, int nListCount); +extern "C" bool Protocol_StoragePacket_DirOperator(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XCHAR * **pppszListEnum, int nListCount); /******************************************************************** 函数名称:Protocol_StoragePacket_REQFile 函数功能:查询文件请求函数 @@ -462,4 +462,4 @@ extern "C" BOOL Protocol_StoragePacket_DirOperator(CHAR * ptszMsgBuffer, int* pI 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Protocol_StoragePacket_REQFile(TCHAR * ptszMsgBuffer, int* pInt_MsgLen, LPCTSTR lpszFileName = NULL, LPCTSTR lpszFileHash = NULL, XNETHANDLE xhToken = 0); \ No newline at end of file +extern "C" bool Protocol_StoragePacket_REQFile(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, LPCXSTR lpszFileName = NULL, LPCXSTR lpszFileHash = NULL, XNETHANDLE xhToken = 0); \ No newline at end of file diff --git a/XEngine_Source/StorageModule_Protocol/dllmain.cpp b/XEngine_Source/StorageModule_Protocol/dllmain.cpp index daed8c8f7ac50ca1466016a0529648d18125a7e7..594ff2123d474b129bb2014fb572f03c9741bf0b 100644 --- a/XEngine_Source/StorageModule_Protocol/dllmain.cpp +++ b/XEngine_Source/StorageModule_Protocol/dllmain.cpp @@ -1,9 +1,9 @@ // dllmain.cpp : 定义 DLL 应用程序的入口点。 #include "pch.h" -BOOL APIENTRY DllMain( HMODULE hModule, - DWORD ul_reason_for_call, - LPVOID lpReserved +bool APIENTRY DllMain( HMODULE hModule, + XLONG ul_reason_for_call, + XPVOID lpReserved ) { switch (ul_reason_for_call) @@ -14,6 +14,6 @@ BOOL APIENTRY DllMain( HMODULE hModule, case DLL_PROCESS_DETACH: break; } - return TRUE; + return true; } diff --git a/XEngine_Source/StorageModule_Protocol/pch.cpp b/XEngine_Source/StorageModule_Protocol/pch.cpp index 946981e607c4071b62f3c5b78c3f358606f0876d..54e6f5b125fb392d0fa68bafb15af857a83df546 100644 --- a/XEngine_Source/StorageModule_Protocol/pch.cpp +++ b/XEngine_Source/StorageModule_Protocol/pch.cpp @@ -12,13 +12,13 @@ // Purpose: 导出函数实现 // History: *********************************************************************/ -BOOL Protocol_IsErrorOccur = FALSE; -DWORD Protocol_dwErrorCode = 0; +bool Protocol_IsErrorOccur = false; +XLONG Protocol_dwErrorCode = 0; ////////////////////////////////////////////////////////////////////////// CProtocol_StoragePacket m_StoragePacket; CProtocol_StorageParse m_StorageParse; ////////////////////////////////////////////////////////////////////////// -extern "C" DWORD Protocol_GetLastError(int* pInt_ErrorCode) +extern "C" XLONG Protocol_GetLastError(int* pInt_ErrorCode) { if (NULL != pInt_ErrorCode) { @@ -29,54 +29,54 @@ extern "C" DWORD Protocol_GetLastError(int* pInt_ErrorCode) /************************************************************************/ /* 解析协议导出 */ /************************************************************************/ -extern "C" BOOL Protocol_StorageParse_ProxyNotify(LPCTSTR lpszMsgBuffer, int nMsgLen, TCHAR * ptszClientAddr, TCHAR * ptszBuckKey, TCHAR * ptszFileName, TCHAR * ptszFileHash, __int64x * pInt_FileSize) +extern "C" bool Protocol_StorageParse_ProxyNotify(LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR * ptszClientAddr, XCHAR * ptszBuckKey, XCHAR * ptszFileName, XCHAR * ptszFileHash, __int64x * pInt_FileSize) { return m_StorageParse.Protocol_StorageParse_ProxyNotify(lpszMsgBuffer, nMsgLen, ptszClientAddr, ptszBuckKey, ptszFileName, ptszFileHash, pInt_FileSize); } -extern "C" BOOL Protocol_StorageParse_QueryFile(LPCTSTR lpszMsgBuffer, TCHAR * ptszTimeStart, TCHAR * ptszTimeEnd, CHAR * ptszBuckKey, TCHAR * ptszFileName, TCHAR * ptszFileHash, int* pInt_Mode, XNETHANDLE * pxhToken) +extern "C" bool Protocol_StorageParse_QueryFile(LPCXSTR lpszMsgBuffer, XCHAR * ptszTimeStart, XCHAR * ptszTimeEnd, XCHAR * ptszBuckKey, XCHAR * ptszFileName, XCHAR * ptszFileHash, int* pInt_Mode, XNETHANDLE * pxhToken) { return m_StorageParse.Protocol_StorageParse_QueryFile(lpszMsgBuffer, ptszTimeStart, ptszTimeEnd, ptszBuckKey, ptszFileName, ptszFileHash, pInt_Mode, pxhToken); } -extern "C" BOOL Protocol_StorageParse_ReportFile(LPCTSTR lpszMsgBuffer, int nMsgLen, XSTORAGECORE_DBFILE * **pppSt_DBFile, int* pInt_ListCount) +extern "C" bool Protocol_StorageParse_ReportFile(LPCXSTR lpszMsgBuffer, int nMsgLen, XSTORAGECORE_DBFILE * **pppSt_DBFile, int* pInt_ListCount) { return m_StorageParse.Protocol_StorageParse_ReportFile(lpszMsgBuffer, nMsgLen, pppSt_DBFile, pInt_ListCount); } -extern "C" BOOL Protocol_StorageParse_DirOperator(LPCTSTR lpszMsgBuffer, TCHAR * ptszUserDir, TCHAR * ptszBuckKey, int* pInt_Operator) +extern "C" bool Protocol_StorageParse_DirOperator(LPCXSTR lpszMsgBuffer, XCHAR * ptszUserDir, XCHAR * ptszBuckKey, int* pInt_Operator) { return m_StorageParse.Protocol_StorageParse_DirOperator(lpszMsgBuffer, ptszUserDir, ptszBuckKey, pInt_Operator); } -extern "C" BOOL Protocol_StorageParse_SpeedLimit(LPCTSTR lpszMsgBuffer, int nMsgLen, int* pInt_Code, int* pInt_Limit) +extern "C" bool Protocol_StorageParse_SpeedLimit(LPCXSTR lpszMsgBuffer, int nMsgLen, int* pInt_Code, int* pInt_Limit) { return m_StorageParse.Protocol_StorageParse_SpeedLimit(lpszMsgBuffer, nMsgLen, pInt_Code, pInt_Limit); } -extern "C" BOOL Protocol_StorageParse_P2PToken(LPCTSTR lpszMsgBuffer, int nMsgLen, XNETHANDLE * pxhToken) +extern "C" bool Protocol_StorageParse_P2PToken(LPCXSTR lpszMsgBuffer, int nMsgLen, XNETHANDLE * pxhToken) { return m_StorageParse.Protocol_StorageParse_P2PToken(lpszMsgBuffer, nMsgLen, pxhToken); } /************************************************************************/ /* 打包协议导出 */ /************************************************************************/ -extern "C" BOOL Protocol_StoragePacket_BasicAuth(LPCTSTR lpszMethod, LPCTSTR lpszPostUrl, LPCTSTR lpszClientAddr, LPCTSTR lpszUser, LPCTSTR lpszPass, TCHAR * ptszMsgBuffer, int* pInt_MsgLen) +extern "C" bool Protocol_StoragePacket_BasicAuth(LPCXSTR lpszMethod, LPCXSTR lpszPostUrl, LPCXSTR lpszClientAddr, LPCXSTR lpszUser, LPCXSTR lpszPass, XCHAR * ptszMsgBuffer, int* pInt_MsgLen) { return m_StoragePacket.Protocol_StoragePacket_BasicAuth(lpszMethod, lpszPostUrl, lpszClientAddr, lpszUser, lpszPass, ptszMsgBuffer, pInt_MsgLen); } -extern "C" BOOL Protocol_StoragePacket_UPDown(TCHAR * ptszMsgBuffer, int* pInt_MsgLen, LPCTSTR lpszBuckKey, LPCTSTR lpszFileName, LPCTSTR lpszClientAddr, __int64x nFileSize, BOOL bDown, LPCTSTR lpszFileHash) +extern "C" bool Protocol_StoragePacket_UPDown(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, LPCXSTR lpszBuckKey, LPCXSTR lpszFileName, LPCXSTR lpszClientAddr, __int64x nFileSize, bool bDown, LPCXSTR lpszFileHash) { return m_StoragePacket.Protocol_StoragePacket_UPDown(ptszMsgBuffer, pInt_MsgLen, lpszBuckKey, lpszFileName, lpszClientAddr, nFileSize, bDown, lpszFileHash); } -extern "C" BOOL Protocol_StoragePacket_QueryFile(TCHAR * ptszMsgBuffer, int* pInt_MsgLen, XSTORAGECORE_DBFILE * **pppSt_DBFile, int nListCount, LPCTSTR lpszTimeStart, LPCTSTR lpszTimeEnd, XNETHANDLE xhToken) +extern "C" bool Protocol_StoragePacket_QueryFile(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XSTORAGECORE_DBFILE * **pppSt_DBFile, int nListCount, LPCXSTR lpszTimeStart, LPCXSTR lpszTimeEnd, XNETHANDLE xhToken) { return m_StoragePacket.Protocol_StoragePacket_QueryFile(ptszMsgBuffer, pInt_MsgLen, pppSt_DBFile, nListCount, lpszTimeStart, lpszTimeEnd, xhToken); } -extern "C" BOOL Protocol_StoragePacket_Info(TCHAR * ptszMsgBuffer, int* pInt_MsgLen, SESSION_STORAGEINFO * **pppSt_DLInfo, SESSION_STORAGEINFO * **pppSt_UPInfo, int nDLCount, int nUPCount) +extern "C" bool Protocol_StoragePacket_Info(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, SESSION_STORAGEINFO * **pppSt_DLInfo, SESSION_STORAGEINFO * **pppSt_UPInfo, int nDLCount, int nUPCount) { return m_StoragePacket.Protocol_StoragePacket_Info(ptszMsgBuffer, pInt_MsgLen, pppSt_DLInfo, pppSt_UPInfo, nDLCount, nUPCount); } -extern "C" BOOL Protocol_StoragePacket_DirOperator(TCHAR * ptszMsgBuffer, int* pInt_MsgLen, TCHAR * **pppszListEnum, int nListCount) +extern "C" bool Protocol_StoragePacket_DirOperator(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, XCHAR * **pppszListEnum, int nListCount) { return m_StoragePacket.Protocol_StoragePacket_DirOperator(ptszMsgBuffer, pInt_MsgLen, pppszListEnum, nListCount); } -extern "C" BOOL Protocol_StoragePacket_REQFile(TCHAR * ptszMsgBuffer, int* pInt_MsgLen, LPCTSTR lpszFileName, LPCTSTR lpszFileHash, XNETHANDLE xhToken) +extern "C" bool Protocol_StoragePacket_REQFile(XCHAR * ptszMsgBuffer, int* pInt_MsgLen, LPCXSTR lpszFileName, LPCXSTR lpszFileHash, XNETHANDLE xhToken) { return m_StoragePacket.Protocol_StoragePacket_REQFile(ptszMsgBuffer, pInt_MsgLen, lpszFileName, lpszFileHash, xhToken); } \ No newline at end of file diff --git a/XEngine_Source/StorageModule_Protocol/pch.h b/XEngine_Source/StorageModule_Protocol/pch.h index c3a3ae1123c4364c89b13f02a6309524df667171..4f07d69f07127cb651825fd505ed9ba8af864f1b 100644 --- a/XEngine_Source/StorageModule_Protocol/pch.h +++ b/XEngine_Source/StorageModule_Protocol/pch.h @@ -51,8 +51,8 @@ using namespace std; // Purpose: 协议模块公用头 // History: *********************************************************************/ -extern BOOL Protocol_IsErrorOccur; -extern DWORD Protocol_dwErrorCode; +extern bool Protocol_IsErrorOccur; +extern XLONG Protocol_dwErrorCode; #ifdef _WINDOWS #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib.lib") diff --git a/XEngine_Source/StorageModule_Session/Makefile b/XEngine_Source/StorageModule_Session/Makefile index a5255087087e2b5353892e03d82fce6d9a4d81b1..f5de865bc99def02a9889ce9761250e13f480661 100644 --- a/XEngine_Source/StorageModule_Session/Makefile +++ b/XEngine_Source/StorageModule_Session/Makefile @@ -1,30 +1,23 @@ CC = g++ -Wall -std=c++17 -fPIC -SHAREFLAG = -shared -SHAREDLL = so +PLATFORM = linux +PLATVER = +PLATDIR = +FILEEXT = +LIBFLAG = RELEASE = 0 UNICODE = 0 -INCLUDE = -I ./ -LOADBIN = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib +LOADHDR = -I ./ -I ../XEngine_ThirdPart/jsoncpp +LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib LIB = -lXEngine_BaseLib -LIBEX = -ldl -lpthread -LOADSO = -Wl,-rpath= -LIBINCLUDE = Session_DLStroage.o Session_UPStroage.o Session_User.o pch.o - -ifeq ($(shell uname),Darwin) - SHAREDLL = dylib - SHAREFLAG = -dynamiclib - LOADSO = -else - SHAREDLL = so - SHAREFLAG = -shared -endif +LIBEX = +OBJECTS = Session_DLStroage.o Session_UPStroage.o Session_User.o pch.o ifeq ($(RELEASE),1) -FLAGS = -c -O2 +FLAGS = -c DEBUG = else -FLAGS = -c -DEBUG = -g +FLAGS = -c -lc_p +DEBUG = -g -pg endif ifeq ($(UNICODE),1) @@ -33,28 +26,50 @@ else UNICODE = endif +ifeq ($(PLATFORM),linux) + ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release)) + PLATVER = -D __CENTOS__ + PLATDIR = XEngine_Linux/Centos + else + PLATVER = -D __UBUNTU__ + PLATDIR = XEngine_Linux/Ubuntu + endif + FILEEXT = so + LIBFLAG = -shared + LIBEX = -lpthread -lrt -ldl + LOADBIN = -Wl,-rpath=./,--disable-new-dtags +else ifeq ($(PLATFORM),mac) + CC += -Wno-deprecated-declarations + PLATVER = -D __MACOS__ + PLATDIR = XEngine_Mac + FILEEXT = dylib + LIBFLAG = -dynamiclib + LIBEX = -lpthread -ldl + LOADBIN = -Wl,-rpath,@loader_path/./ +endif + -all:$(LIBINCLUDE) - $(CC) $(DEBUG) $(LIBINCLUDE) -o libStorageModule_Session.$(SHAREDLL) $(SHAREFLAG) -fPIC $(LOADBIN) $(LIB) $(LIBEX) $(LOADSO) +all:$(OBJECTS) + $(CC) $(DEBUG) $(OBJECTS) -o libStorageModule_Session.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN) Session_DLStroage.o:./Session_Stroage/Session_DLStroage.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(INCLUDE) ./Session_Stroage/Session_DLStroage.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Session_Stroage/Session_DLStroage.cpp Session_UPStroage.o:./Session_Stroage/Session_UPStroage.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(INCLUDE) ./Session_Stroage/Session_UPStroage.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Session_Stroage/Session_UPStroage.cpp Session_User.o:./Session_User/Session_User.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(INCLUDE) ./Session_User/Session_User.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Session_User/Session_User.cpp pch.o:./pch.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(INCLUDE) ./pch.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./pch.cpp InstallAll:InstallSo -InstallSo:./libStorageModule_Session.$(SHAREDLL) - cp ./libStorageModule_Session.$(SHAREDLL) ../../XEngine_Release/libStorageModule_Session.$(SHAREDLL) +InstallSo:./libStorageModule_Session.$(FILEEXT) + cp ./libStorageModule_Session.$(FILEEXT) ../../XEngine_Release/libStorageModule_Session.$(FILEEXT) CleanAll:CleanObj CleanMk CleanObj: rm *.o CleanMk: - rm *.$(SHAREDLL) + rm *.$(FILEEXT) diff --git a/XEngine_Source/StorageModule_Session/Session_Define.h b/XEngine_Source/StorageModule_Session/Session_Define.h index 01ce820f8b55fbf151b094e009ea438459ab687e..a83a1fa9f15e1d5d15c6d4300d6ace981de7b058 100644 --- a/XEngine_Source/StorageModule_Session/Session_Define.h +++ b/XEngine_Source/StorageModule_Session/Session_Define.h @@ -15,16 +15,16 @@ ////////////////////////////////////////////////////////////////////////// typedef struct { - TCHAR tszFileDir[MAX_PATH]; //文件地址 - TCHAR tszClientAddr[128]; //操作的用户地址 - TCHAR tszFileHash[128]; //文件HASH值 - TCHAR tszBuckKey[128]; //BUCKKey + XCHAR tszFileDir[MAX_PATH]; //文件地址 + XCHAR tszClientAddr[128]; //操作的用户地址 + XCHAR tszFileHash[128]; //文件HASH值 + XCHAR tszBuckKey[128]; //BUCKKey __int64x ullCount; //总大小 __int64x ullRWCount; //需要读取(写入)总大小 __int64x ullRWLen; //已经读取(写入)的大小 __int64x ullPosStart; //开始位置 __int64x ullPosEnd; //结束位置 - BOOL bRewrite; //是否为覆写 + bool bRewrite; //是否为覆写 int nLimit; //限制工具 XHANDLE xhToken; @@ -33,7 +33,7 @@ typedef struct ////////////////////////////////////////////////////////////////////////// // 导出函数定义 ////////////////////////////////////////////////////////////////////////// -extern "C" DWORD Session_GetLastError(int *pInt_SysError = NULL); +extern "C" XLONG Session_GetLastError(int *pInt_SysError = NULL); /************************************************************************/ /* 用户管理导出的函数 */ /************************************************************************/ @@ -50,7 +50,7 @@ extern "C" DWORD Session_GetLastError(int *pInt_SysError = NULL); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_User_Init(LPCTSTR lpszUserFile); +extern "C" bool Session_User_Init(LPCXSTR lpszUserFile); /******************************************************************** 函数名称:Session_User_Destory 函数功能:销毁管理器 @@ -59,7 +59,7 @@ extern "C" BOOL Session_User_Init(LPCTSTR lpszUserFile); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_User_Destory(); +extern "C" bool Session_User_Destory(); /******************************************************************** 函数名称:Session_User_Exist 函数功能:用户名和密码是否存在 @@ -83,7 +83,7 @@ extern "C" BOOL Session_User_Destory(); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_User_Exist(LPCTSTR lpszUser, LPCTSTR lpszPass, int* pInt_Limit = NULL); +extern "C" bool Session_User_Exist(LPCXSTR lpszUser, LPCXSTR lpszPass, int* pInt_Limit = NULL); /************************************************************************/ /* 存储会话导出的函数 */ /************************************************************************/ @@ -95,7 +95,7 @@ extern "C" BOOL Session_User_Exist(LPCTSTR lpszUser, LPCTSTR lpszPass, int* pInt 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_DLStroage_Init(int nMaxConnect); +extern "C" bool Session_DLStroage_Init(int nMaxConnect); /******************************************************************** 函数名称:Session_DLStroage_Destory 函数功能:销毁下载管理器 @@ -104,7 +104,7 @@ extern "C" BOOL Session_DLStroage_Init(int nMaxConnect); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_DLStroage_Destory(); +extern "C" bool Session_DLStroage_Destory(); /******************************************************************** 函数名称:Session_DLStroage_Insert 函数功能:插入一个会话到下载器 @@ -158,7 +158,7 @@ extern "C" BOOL Session_DLStroage_Destory(); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_DLStroage_Insert(LPCTSTR lpszClientAddr, LPCTSTR lpszBuckKey, LPCTSTR lpszFileDir, __int64x * pInt_Count, __int64x * pInt_LeftCount, int nPosStart = 0, int nPostEnd = 0, LPCTSTR lpszFileHash = NULL, int nLimit = 0, XHANDLE xhToken = NULL); +extern "C" bool Session_DLStroage_Insert(LPCXSTR lpszClientAddr, LPCXSTR lpszBuckKey, LPCXSTR lpszFileDir, __int64x * pInt_Count, __int64x * pInt_LeftCount, int nPosStart = 0, int nPostEnd = 0, LPCXSTR lpszFileHash = NULL, int nLimit = 0, XHANDLE xhToken = NULL); /******************************************************************** 函数名称:Session_DLStroage_GetBuffer 函数功能:获得下载器中指定缓冲区 @@ -181,7 +181,7 @@ extern "C" BOOL Session_DLStroage_Insert(LPCTSTR lpszClientAddr, LPCTSTR lpszBuc 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_DLStroage_GetBuffer(LPCTSTR lpszClientAddr, TCHAR * ptszMsgBuffer, int* pInt_MsgLen); +extern "C" bool Session_DLStroage_GetBuffer(LPCXSTR lpszClientAddr, XCHAR * ptszMsgBuffer, int* pInt_MsgLen); /******************************************************************** 函数名称:Session_DLStroage_GetInfo 函数功能:获取下载信息 @@ -200,7 +200,7 @@ extern "C" BOOL Session_DLStroage_GetBuffer(LPCTSTR lpszClientAddr, TCHAR * ptsz 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_DLStroage_GetInfo(LPCTSTR lpszClientAddr, SESSION_STORAGEINFO* pSt_StorageInfo); +extern "C" bool Session_DLStroage_GetInfo(LPCXSTR lpszClientAddr, SESSION_STORAGEINFO* pSt_StorageInfo); /******************************************************************** 函数名称:Session_DLStroage_GetCount 函数功能:获取队列拥有的个数 @@ -214,7 +214,7 @@ extern "C" BOOL Session_DLStroage_GetInfo(LPCTSTR lpszClientAddr, SESSION_STORAG 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_DLStroage_GetCount(int* pInt_ListCount); +extern "C" bool Session_DLStroage_GetCount(int* pInt_ListCount); /******************************************************************** 函数名称:Session_DLStorage_SetSeek 函数功能:移动文件指针 @@ -233,7 +233,7 @@ extern "C" BOOL Session_DLStroage_GetCount(int* pInt_ListCount); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_DLStorage_SetSeek(LPCTSTR lpszClientAddr, int nSeek); +extern "C" bool Session_DLStorage_SetSeek(LPCXSTR lpszClientAddr, int nSeek); /******************************************************************** 函数名称:Session_DLStorage_GetAll 函数功能:获取下载池的任务列表 @@ -252,7 +252,7 @@ extern "C" BOOL Session_DLStorage_SetSeek(LPCTSTR lpszClientAddr, int nSeek); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_DLStorage_GetAll(SESSION_STORAGEINFO*** pppSt_StorageInfo, int* pInt_ListCount); +extern "C" bool Session_DLStorage_GetAll(SESSION_STORAGEINFO*** pppSt_StorageInfo, int* pInt_ListCount); /******************************************************************** 函数名称:Session_DLStroage_Delete 函数功能:删除一个队列 @@ -266,7 +266,7 @@ extern "C" BOOL Session_DLStorage_GetAll(SESSION_STORAGEINFO*** pppSt_StorageInf 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_DLStroage_Delete(LPCTSTR lpszClientAddr); +extern "C" bool Session_DLStroage_Delete(LPCXSTR lpszClientAddr); /******************************************************************** 函数名称:Session_DLStroage_MaxConnect 函数功能:判断一个地址是否超过连接数限制 @@ -280,7 +280,7 @@ extern "C" BOOL Session_DLStroage_Delete(LPCTSTR lpszClientAddr); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_DLStroage_MaxConnect(LPCTSTR lpszClientAddr); +extern "C" bool Session_DLStroage_MaxConnect(LPCXSTR lpszClientAddr); /******************************************************************** 函数名称:Session_UPStroage_Init 函数功能:初始化上传会话管理器 @@ -299,7 +299,7 @@ extern "C" BOOL Session_DLStroage_MaxConnect(LPCTSTR lpszClientAddr); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_UPStroage_Init(int nMaxConnect, BOOL bUPResume = FALSE); +extern "C" bool Session_UPStroage_Init(int nMaxConnect, bool bUPResume = false); /******************************************************************** 函数名称:Session_UPStroage_Destory 函数功能:销毁下载管理器 @@ -308,7 +308,7 @@ extern "C" BOOL Session_UPStroage_Init(int nMaxConnect, BOOL bUPResume = FALSE); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_UPStroage_Destory(); +extern "C" bool Session_UPStroage_Destory(); /******************************************************************** 函数名称:Session_UPStroage_Insert 函数功能:插入一个会话到下载器 @@ -352,7 +352,7 @@ extern "C" BOOL Session_UPStroage_Destory(); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_UPStroage_Insert(LPCTSTR lpszClientAddr, LPCTSTR lpszBuckKey, LPCTSTR lpszFileDir, __int64x nFileSize, BOOL bRewrite, int nPosStart = 0, int nPostEnd = 0); +extern "C" bool Session_UPStroage_Insert(LPCXSTR lpszClientAddr, LPCXSTR lpszBuckKey, LPCXSTR lpszFileDir, __int64x nFileSize, bool bRewrite, int nPosStart = 0, int nPostEnd = 0); /******************************************************************** 函数名称:Session_UPStroage_GetInfo 函数功能:获取上传客户端信息 @@ -371,7 +371,7 @@ extern "C" BOOL Session_UPStroage_Insert(LPCTSTR lpszClientAddr, LPCTSTR lpszBuc 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_UPStroage_GetInfo(LPCTSTR lpszClientAddr, SESSION_STORAGEINFO* pSt_StorageInfo); +extern "C" bool Session_UPStroage_GetInfo(LPCXSTR lpszClientAddr, SESSION_STORAGEINFO* pSt_StorageInfo); /******************************************************************** 函数名称:Session_UPStroage_Write 函数功能:写入数据到文件 @@ -395,7 +395,7 @@ extern "C" BOOL Session_UPStroage_GetInfo(LPCTSTR lpszClientAddr, SESSION_STORAG 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_UPStroage_Write(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen); +extern "C" bool Session_UPStroage_Write(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen); /******************************************************************** 函数名称:Session_UPStroage_Exist 函数功能:客户端是否存在 @@ -409,7 +409,7 @@ extern "C" BOOL Session_UPStroage_Write(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgB 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_UPStroage_Exist(LPCTSTR lpszClientAddr); +extern "C" bool Session_UPStroage_Exist(LPCXSTR lpszClientAddr); /******************************************************************** 函数名称:Session_UPStorage_GetAll 函数功能:获取所有上传信息 @@ -428,7 +428,7 @@ extern "C" BOOL Session_UPStroage_Exist(LPCTSTR lpszClientAddr); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_UPStorage_GetAll(SESSION_STORAGEINFO*** pppSt_StorageInfo, int* pInt_ListCount); +extern "C" bool Session_UPStorage_GetAll(SESSION_STORAGEINFO*** pppSt_StorageInfo, int* pInt_ListCount); /******************************************************************** 函数名称:Session_UPStroage_Delete 函数功能:删除上传会话 @@ -442,7 +442,7 @@ extern "C" BOOL Session_UPStorage_GetAll(SESSION_STORAGEINFO*** pppSt_StorageInf 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_UPStroage_Delete(LPCTSTR lpszClientAddr); +extern "C" bool Session_UPStroage_Delete(LPCXSTR lpszClientAddr); /******************************************************************** 函数名称:Session_UPStroage_Close 函数功能:关闭读写文件句柄 @@ -456,7 +456,7 @@ extern "C" BOOL Session_UPStroage_Delete(LPCTSTR lpszClientAddr); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_UPStroage_Close(LPCTSTR lpszClientAddr); +extern "C" bool Session_UPStroage_Close(LPCXSTR lpszClientAddr); /******************************************************************** 函数名称:Session_UPStroage_MaxConnect 函数功能:判断一个地址是否超过连接数限制 @@ -470,4 +470,4 @@ extern "C" BOOL Session_UPStroage_Close(LPCTSTR lpszClientAddr); 意思:是否成功 备注: *********************************************************************/ -extern "C" BOOL Session_UPStroage_MaxConnect(LPCTSTR lpszClientAddr); \ No newline at end of file +extern "C" bool Session_UPStroage_MaxConnect(LPCXSTR lpszClientAddr); \ No newline at end of file diff --git a/XEngine_Source/StorageModule_Session/Session_Stroage/Session_DLStroage.cpp b/XEngine_Source/StorageModule_Session/Session_Stroage/Session_DLStroage.cpp index af8a245afacf6d6d85ba22962b82c98ee80a796c..a5ccea598dd3dea0035983f867f39ea2d132e6a8 100644 --- a/XEngine_Source/StorageModule_Session/Session_Stroage/Session_DLStroage.cpp +++ b/XEngine_Source/StorageModule_Session/Session_Stroage/Session_DLStroage.cpp @@ -38,12 +38,12 @@ CSession_DLStroage::~CSession_DLStroage() 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_DLStroage::Session_DLStroage_Init(int nMaxConnect) +bool CSession_DLStroage::Session_DLStroage_Init(int nMaxConnect) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; m_nMaxConnect = nMaxConnect; - return TRUE; + return true; } /******************************************************************** 函数名称:Session_DLStroage_Destory @@ -53,15 +53,15 @@ BOOL CSession_DLStroage::Session_DLStroage_Init(int nMaxConnect) 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_DLStroage::Session_DLStroage_Destory() +bool CSession_DLStroage::Session_DLStroage_Destory() { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; st_Locker.lock(); stl_MapStroage.clear(); st_Locker.unlock(); - return TRUE; + return true; } /******************************************************************** 函数名称:Session_DLStroage_Insert @@ -116,48 +116,48 @@ BOOL CSession_DLStroage::Session_DLStroage_Destory() 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_DLStroage::Session_DLStroage_Insert(LPCTSTR lpszClientAddr, LPCTSTR lpszBuckKey, LPCTSTR lpszFileDir, __int64x* pInt_Count, __int64x* pInt_LeftCount, int nPosStart /* = 0 */, int nPostEnd /* = 0 */, LPCTSTR lpszFileHash /* = NULL */, int nLimit /* = 0 */, XHANDLE xhToken /* = NULL */) +bool CSession_DLStroage::Session_DLStroage_Insert(LPCXSTR lpszClientAddr, LPCXSTR lpszBuckKey, LPCXSTR lpszFileDir, __int64x* pInt_Count, __int64x* pInt_LeftCount, int nPosStart /* = 0 */, int nPostEnd /* = 0 */, LPCXSTR lpszFileHash /* = NULL */, int nLimit /* = 0 */, XHANDLE xhToken /* = NULL */) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; if ((NULL == lpszClientAddr) || (NULL == lpszFileDir)) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_PARAMENT; - return FALSE; + return false; } //禁止一个客户端启动多个下载会话 st_Locker.lock_shared(); unordered_map::iterator stl_MapIterator = stl_MapStroage.find(lpszClientAddr); if (stl_MapIterator != stl_MapStroage.end()) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_EXIST; st_Locker.unlock_shared(); - return FALSE; + return false; } st_Locker.unlock_shared(); SESSION_STORAGEINFO st_Client; - struct _tstat64 st_FStat; + struct _xtstat st_FStat; memset(&st_Client, '\0', sizeof(SESSION_STORAGEINFO)); - int nRet = _tstat64(lpszFileDir, &st_FStat); + int nRet = _xtstat(lpszFileDir, &st_FStat); if (-1 == nRet) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_OPENFILE; - return FALSE; + return false; } st_Client.ullPosStart = nPosStart; st_Client.ullPosEnd = nPostEnd; st_Client.ullCount = st_FStat.st_size; - _tcscpy(st_Client.tszFileDir, lpszFileDir); - _tcscpy(st_Client.tszClientAddr, lpszClientAddr); - _tcscpy(st_Client.tszBuckKey, lpszBuckKey); + _tcsxcpy(st_Client.tszFileDir, lpszFileDir); + _tcsxcpy(st_Client.tszClientAddr, lpszClientAddr); + _tcsxcpy(st_Client.tszBuckKey, lpszBuckKey); if (NULL != lpszFileHash) { - _tcscpy(st_Client.tszFileHash, lpszFileHash); + _tcsxcpy(st_Client.tszFileHash, lpszFileHash); } //设置限制 if (nLimit > 0) @@ -166,12 +166,12 @@ BOOL CSession_DLStroage::Session_DLStroage_Insert(LPCTSTR lpszClientAddr, LPCTST st_Client.xhToken = xhToken; } //填充下载信息 - st_Client.pSt_File = _tfopen(lpszFileDir, _T("rb")); + st_Client.pSt_File = _xtfopen(lpszFileDir, _X("rb")); if (NULL == st_Client.pSt_File) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_OPENFILE; - return FALSE; + return false; } //是否有范围 if ((nPosStart > 0) || (nPostEnd > 0)) @@ -202,7 +202,7 @@ BOOL CSession_DLStroage::Session_DLStroage_Insert(LPCTSTR lpszClientAddr, LPCTST st_Locker.lock(); stl_MapStroage.insert(make_pair(lpszClientAddr, st_Client)); st_Locker.unlock(); - return TRUE; + return true; } /******************************************************************** 函数名称:Session_DLStroage_GetBuffer @@ -226,25 +226,25 @@ BOOL CSession_DLStroage::Session_DLStroage_Insert(LPCTSTR lpszClientAddr, LPCTST 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_DLStroage::Session_DLStroage_GetBuffer(LPCTSTR lpszClientAddr, TCHAR* ptszMsgBuffer, int* pInt_MsgLen) +bool CSession_DLStroage::Session_DLStroage_GetBuffer(LPCXSTR lpszClientAddr, XCHAR* ptszMsgBuffer, int* pInt_MsgLen) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; if ((NULL == lpszClientAddr) || (NULL == ptszMsgBuffer) || (NULL == pInt_MsgLen)) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_PARAMENT; - return FALSE; + return false; } st_Locker.lock_shared(); unordered_map::iterator stl_MapIterator = stl_MapStroage.find(lpszClientAddr); if (stl_MapIterator == stl_MapStroage.end()) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_NOTFOUND; st_Locker.unlock_shared(); - return FALSE; + return false; } if (stl_MapIterator->second.ullRWLen >= stl_MapIterator->second.ullRWCount) { @@ -260,7 +260,7 @@ BOOL CSession_DLStroage::Session_DLStroage_GetBuffer(LPCTSTR lpszClientAddr, TCH stl_MapIterator->second.ullRWLen += *pInt_MsgLen; } st_Locker.unlock_shared(); - return TRUE; + return true; } /******************************************************************** 函数名称:Session_DLStroage_GetInfo @@ -280,29 +280,29 @@ BOOL CSession_DLStroage::Session_DLStroage_GetBuffer(LPCTSTR lpszClientAddr, TCH 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_DLStroage::Session_DLStroage_GetInfo(LPCTSTR lpszClientAddr, SESSION_STORAGEINFO* pSt_StorageInfo) +bool CSession_DLStroage::Session_DLStroage_GetInfo(LPCXSTR lpszClientAddr, SESSION_STORAGEINFO* pSt_StorageInfo) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; if ((NULL == pSt_StorageInfo)) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_PARAMENT; - return FALSE; + return false; } st_Locker.lock_shared(); unordered_map::iterator stl_MapIterator = stl_MapStroage.find(lpszClientAddr); if (stl_MapIterator == stl_MapStroage.end()) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_NOTFOUND; st_Locker.unlock_shared(); - return FALSE; + return false; } *pSt_StorageInfo = stl_MapIterator->second; st_Locker.unlock_shared(); - return TRUE; + return true; } /******************************************************************** 函数名称:Session_DLStroage_GetCount @@ -317,20 +317,20 @@ BOOL CSession_DLStroage::Session_DLStroage_GetInfo(LPCTSTR lpszClientAddr, SESSI 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_DLStroage::Session_DLStroage_GetCount(int* pInt_ListCount) +bool CSession_DLStroage::Session_DLStroage_GetCount(int* pInt_ListCount) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; if (NULL == pInt_ListCount) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_PARAMENT; - return FALSE; + return false; } st_Locker.lock_shared(); *pInt_ListCount = stl_MapStroage.size(); st_Locker.unlock_shared(); - return TRUE; + return true; } /******************************************************************** 函数名称:Session_DLStorage_SetSeek @@ -350,24 +350,24 @@ BOOL CSession_DLStroage::Session_DLStroage_GetCount(int* pInt_ListCount) 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_DLStroage::Session_DLStorage_SetSeek(LPCTSTR lpszClientAddr, int nSeek) +bool CSession_DLStroage::Session_DLStorage_SetSeek(LPCXSTR lpszClientAddr, int nSeek) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; st_Locker.lock_shared(); unordered_map::iterator stl_MapIterator = stl_MapStroage.find(lpszClientAddr); if (stl_MapIterator == stl_MapStroage.end()) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_NOTFOUND; st_Locker.unlock_shared(); - return FALSE; + return false; } //移动文件指针 fseek(stl_MapIterator->second.pSt_File, nSeek, SEEK_CUR); stl_MapIterator->second.ullRWLen += nSeek; st_Locker.unlock_shared(); - return TRUE; + return true; } /******************************************************************** 函数名称:Session_DLStorage_GetAll @@ -387,15 +387,15 @@ BOOL CSession_DLStroage::Session_DLStorage_SetSeek(LPCTSTR lpszClientAddr, int n 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_DLStroage::Session_DLStorage_GetAll(SESSION_STORAGEINFO*** pppSt_StorageInfo, int* pInt_ListCount) +bool CSession_DLStroage::Session_DLStorage_GetAll(SESSION_STORAGEINFO*** pppSt_StorageInfo, int* pInt_ListCount) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; if ((NULL == pppSt_StorageInfo) || (NULL == pInt_ListCount)) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_PARAMENT; - return FALSE; + return false; } st_Locker.lock_shared(); @@ -411,11 +411,11 @@ BOOL CSession_DLStroage::Session_DLStorage_GetAll(SESSION_STORAGEINFO*** pppSt_S if (*pInt_ListCount <= 0) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_EMPTY; - return FALSE; + return false; } - return TRUE; + return true; } /******************************************************************** 函数名称:Session_DLStroage_Delete @@ -430,9 +430,9 @@ BOOL CSession_DLStroage::Session_DLStorage_GetAll(SESSION_STORAGEINFO*** pppSt_S 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_DLStroage::Session_DLStroage_Delete(LPCTSTR lpszClientAddr) +bool CSession_DLStroage::Session_DLStroage_Delete(LPCXSTR lpszClientAddr) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; st_Locker.lock_shared(); unordered_map::iterator stl_MapIterator = stl_MapStroage.find(lpszClientAddr); @@ -442,7 +442,7 @@ BOOL CSession_DLStroage::Session_DLStroage_Delete(LPCTSTR lpszClientAddr) stl_MapStroage.erase(stl_MapIterator); } st_Locker.unlock_shared(); - return TRUE; + return true; } /******************************************************************** 函数名称:Session_DLStroage_MaxConnect @@ -457,28 +457,28 @@ BOOL CSession_DLStroage::Session_DLStroage_Delete(LPCTSTR lpszClientAddr) 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_DLStroage::Session_DLStroage_MaxConnect(LPCTSTR lpszClientAddr) +bool CSession_DLStroage::Session_DLStroage_MaxConnect(LPCXSTR lpszClientAddr) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; int nExistNumber = 0; st_Locker.lock_shared(); unordered_map::iterator stl_MapIterator = stl_MapStroage.begin(); for (; stl_MapIterator != stl_MapStroage.end(); stl_MapIterator++) { - TCHAR tszIPSource[128]; - TCHAR tszIPDest[128]; + XCHAR tszIPSource[128]; + XCHAR tszIPDest[128]; memset(tszIPSource, '\0', sizeof(tszIPSource)); memset(tszIPDest, '\0', sizeof(tszIPDest)); - _tcscpy(tszIPSource, stl_MapIterator->first.c_str()); - _tcscpy(tszIPDest, lpszClientAddr); + _tcsxcpy(tszIPSource, stl_MapIterator->first.c_str()); + _tcsxcpy(tszIPDest, lpszClientAddr); BaseLib_OperatorIPAddr_SegAddr(tszIPSource); BaseLib_OperatorIPAddr_SegAddr(tszIPDest); - if (0 == _tcscmp(tszIPSource, tszIPDest)) + if (0 == _tcsxcmp(tszIPSource, tszIPDest)) { nExistNumber++; } @@ -487,9 +487,9 @@ BOOL CSession_DLStroage::Session_DLStroage_MaxConnect(LPCTSTR lpszClientAddr) if (nExistNumber >= m_nMaxConnect) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_MAXCONNECT; - return FALSE; + return false; } - return TRUE; + return true; } \ No newline at end of file diff --git a/XEngine_Source/StorageModule_Session/Session_Stroage/Session_DLStroage.h b/XEngine_Source/StorageModule_Session/Session_Stroage/Session_DLStroage.h index 5d1aac95b19f4a62e19598cdc83476a7558f801b..281c4e6946bfe35c1725873f6750a34de4212bfa 100644 --- a/XEngine_Source/StorageModule_Session/Session_Stroage/Session_DLStroage.h +++ b/XEngine_Source/StorageModule_Session/Session_Stroage/Session_DLStroage.h @@ -17,16 +17,16 @@ public: CSession_DLStroage(); ~CSession_DLStroage(); public: - BOOL Session_DLStroage_Init(int nMaxConnect); - BOOL Session_DLStroage_Destory(); - BOOL Session_DLStroage_Insert(LPCTSTR lpszClientAddr, LPCTSTR lpszBuckKey, LPCTSTR lpszFileDir, __int64x* pInt_Count, __int64x* pInt_LeftCount, int nPosStart = 0, int nPostEnd = 0, LPCTSTR lpszFileHash = NULL, int nLimit = 0, XHANDLE xhToken = NULL); - BOOL Session_DLStroage_GetBuffer(LPCTSTR lpszClientAddr, TCHAR* ptszMsgBuffer, int* pInt_MsgLen); - BOOL Session_DLStroage_GetInfo(LPCTSTR lpszClientAddr, SESSION_STORAGEINFO* pSt_StorageInfo); - BOOL Session_DLStroage_GetCount(int* pInt_ListCount); - BOOL Session_DLStorage_SetSeek(LPCTSTR lpszClientAddr, int nSeek); - BOOL Session_DLStorage_GetAll(SESSION_STORAGEINFO*** pppSt_StorageInfo, int* pInt_ListCount); - BOOL Session_DLStroage_Delete(LPCTSTR lpszClientAddr); - BOOL Session_DLStroage_MaxConnect(LPCTSTR lpszClientAddr); + bool Session_DLStroage_Init(int nMaxConnect); + bool Session_DLStroage_Destory(); + bool Session_DLStroage_Insert(LPCXSTR lpszClientAddr, LPCXSTR lpszBuckKey, LPCXSTR lpszFileDir, __int64x* pInt_Count, __int64x* pInt_LeftCount, int nPosStart = 0, int nPostEnd = 0, LPCXSTR lpszFileHash = NULL, int nLimit = 0, XHANDLE xhToken = NULL); + bool Session_DLStroage_GetBuffer(LPCXSTR lpszClientAddr, XCHAR* ptszMsgBuffer, int* pInt_MsgLen); + bool Session_DLStroage_GetInfo(LPCXSTR lpszClientAddr, SESSION_STORAGEINFO* pSt_StorageInfo); + bool Session_DLStroage_GetCount(int* pInt_ListCount); + bool Session_DLStorage_SetSeek(LPCXSTR lpszClientAddr, int nSeek); + bool Session_DLStorage_GetAll(SESSION_STORAGEINFO*** pppSt_StorageInfo, int* pInt_ListCount); + bool Session_DLStroage_Delete(LPCXSTR lpszClientAddr); + bool Session_DLStroage_MaxConnect(LPCXSTR lpszClientAddr); private: int m_nMaxConnect; shared_mutex st_Locker; diff --git a/XEngine_Source/StorageModule_Session/Session_Stroage/Session_UPStroage.cpp b/XEngine_Source/StorageModule_Session/Session_Stroage/Session_UPStroage.cpp index 27052e729ce22b71c00c201b0db26a49e7b57222..3ab9ca3160ac5c116902a16068d511933fbcc898 100644 --- a/XEngine_Source/StorageModule_Session/Session_Stroage/Session_UPStroage.cpp +++ b/XEngine_Source/StorageModule_Session/Session_Stroage/Session_UPStroage.cpp @@ -38,13 +38,13 @@ CSession_UPStroage::~CSession_UPStroage() 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_UPStroage::Session_UPStroage_Init(int nMaxConnect, BOOL bUPResume /* = FALSE */) +bool CSession_UPStroage::Session_UPStroage_Init(int nMaxConnect, bool bUPResume /* = false */) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; m_bResume = bUPResume; m_nMaxConnect = nMaxConnect; - return TRUE; + return true; } /******************************************************************** 函数名称:Session_UPStroage_Destory @@ -54,15 +54,15 @@ BOOL CSession_UPStroage::Session_UPStroage_Init(int nMaxConnect, BOOL bUPResume 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_UPStroage::Session_UPStroage_Destory() +bool CSession_UPStroage::Session_UPStroage_Destory() { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; st_Locker.lock(); stl_MapStroage.clear(); st_Locker.unlock(); - return TRUE; + return true; } /******************************************************************** 函数名称:Session_UPStroage_Insert @@ -107,25 +107,25 @@ BOOL CSession_UPStroage::Session_UPStroage_Destory() 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_UPStroage::Session_UPStroage_Insert(LPCTSTR lpszClientAddr, LPCTSTR lpszBuckKey, LPCTSTR lpszFileDir, __int64x nFileSize, BOOL bRewrite, int nPosStart /* = 0 */, int nPostEnd /* = 0 */) +bool CSession_UPStroage::Session_UPStroage_Insert(LPCXSTR lpszClientAddr, LPCXSTR lpszBuckKey, LPCXSTR lpszFileDir, __int64x nFileSize, bool bRewrite, int nPosStart /* = 0 */, int nPostEnd /* = 0 */) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; if ((NULL == lpszClientAddr) || (NULL == lpszFileDir)) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_PARAMENT; - return FALSE; + return false; } //禁止一个客户端启动多个下载会话 st_Locker.lock_shared(); unordered_map::iterator stl_MapIterator = stl_MapStroage.find(lpszClientAddr); if (stl_MapIterator != stl_MapStroage.end()) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_EXIST; st_Locker.unlock_shared(); - return FALSE; + return false; } st_Locker.unlock_shared(); @@ -135,23 +135,23 @@ BOOL CSession_UPStroage::Session_UPStroage_Insert(LPCTSTR lpszClientAddr, LPCTST st_Client.st_StorageInfo.ullPosStart = nPosStart; st_Client.st_StorageInfo.ullPosEnd = nPostEnd; st_Client.st_StorageInfo.ullCount = nFileSize; - _tcscpy(st_Client.st_StorageInfo.tszBuckKey, lpszBuckKey); - _tcscpy(st_Client.st_StorageInfo.tszFileDir, lpszFileDir); - _tcscpy(st_Client.st_StorageInfo.tszClientAddr, lpszClientAddr); + _tcsxcpy(st_Client.st_StorageInfo.tszBuckKey, lpszBuckKey); + _tcsxcpy(st_Client.st_StorageInfo.tszFileDir, lpszFileDir); + _tcsxcpy(st_Client.st_StorageInfo.tszClientAddr, lpszClientAddr); //文件是否存在 - if ((m_bResume) && ((0 != nPosStart) || (0 != nPostEnd)) && (0 == _taccess(lpszFileDir, 0))) + if ((m_bResume) && ((0 != nPosStart) || (0 != nPostEnd)) && (0 == _xtaccess(lpszFileDir, 0))) { - struct _tstat64 st_FStat; - memset(&st_FStat, '\0', sizeof(struct _tstat64)); - _tstat64(st_Client.st_StorageInfo.tszFileDir, &st_FStat); + struct _xtstat st_FStat; + memset(&st_FStat, '\0', sizeof(struct _xtstat)); + _xtstat(st_Client.st_StorageInfo.tszFileDir, &st_FStat); st_Client.st_StorageInfo.ullRWLen = st_FStat.st_size; //追加打开 - st_Client.st_StorageInfo.pSt_File = _tfopen(lpszFileDir, _T("rb+")); + st_Client.st_StorageInfo.pSt_File = _xtfopen(lpszFileDir, _X("rb+")); if (NULL == st_Client.st_StorageInfo.pSt_File) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_OPENFILE; - return FALSE; + return false; } //是不是覆写? if (st_Client.st_StorageInfo.ullRWLen > nPosStart) @@ -159,30 +159,30 @@ BOOL CSession_UPStroage::Session_UPStroage_Insert(LPCTSTR lpszClientAddr, LPCTST //是否允许覆写 if (!bRewrite) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_REWRITE; fclose(st_Client.st_StorageInfo.pSt_File); - return FALSE; + return false; } - st_Client.st_StorageInfo.bRewrite = TRUE; + st_Client.st_StorageInfo.bRewrite = true; st_Client.st_StorageInfo.ullRWLen -= (nPostEnd - nPosStart); } fseek(st_Client.st_StorageInfo.pSt_File, nPosStart, SEEK_SET); } else { - st_Client.st_StorageInfo.pSt_File = _tfopen(lpszFileDir, _T("wb")); + st_Client.st_StorageInfo.pSt_File = _xtfopen(lpszFileDir, _X("wb")); if (NULL == st_Client.st_StorageInfo.pSt_File) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_OPENFILE; - return FALSE; + return false; } } st_Locker.lock(); stl_MapStroage.insert(make_pair(lpszClientAddr, st_Client)); st_Locker.unlock(); - return TRUE; + return true; } /******************************************************************** 函数名称:Session_UPStroage_GetInfo @@ -202,29 +202,29 @@ BOOL CSession_UPStroage::Session_UPStroage_Insert(LPCTSTR lpszClientAddr, LPCTST 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_UPStroage::Session_UPStroage_GetInfo(LPCTSTR lpszClientAddr, SESSION_STORAGEINFO* pSt_StorageInfo) +bool CSession_UPStroage::Session_UPStroage_GetInfo(LPCXSTR lpszClientAddr, SESSION_STORAGEINFO* pSt_StorageInfo) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; if ((NULL == lpszClientAddr) || (NULL == pSt_StorageInfo)) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_PARAMENT; - return FALSE; + return false; } st_Locker.lock_shared(); unordered_map::iterator stl_MapIterator = stl_MapStroage.find(lpszClientAddr); if (stl_MapIterator == stl_MapStroage.end()) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_NOTFOUND; st_Locker.unlock_shared(); - return FALSE; + return false; } *pSt_StorageInfo = stl_MapIterator->second.st_StorageInfo; st_Locker.unlock_shared(); - return TRUE; + return true; } /******************************************************************** 函数名称:Session_UPStroage_Write @@ -249,29 +249,29 @@ BOOL CSession_UPStroage::Session_UPStroage_GetInfo(LPCTSTR lpszClientAddr, SESSI 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_UPStroage::Session_UPStroage_Write(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen) +bool CSession_UPStroage::Session_UPStroage_Write(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; if ((NULL == lpszClientAddr) || (NULL == lpszMsgBuffer)) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_PARAMENT; - return FALSE; + return false; } st_Locker.lock_shared(); unordered_map::iterator stl_MapIterator = stl_MapStroage.find(lpszClientAddr); if (stl_MapIterator == stl_MapStroage.end()) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_NOTFOUND; st_Locker.unlock_shared(); - return FALSE; + return false; } int nCount = nMsgLen; int nWLen = 0; - while (TRUE) + while (true) { int nRet = fwrite(lpszMsgBuffer + nWLen, 1, nCount - nWLen, stl_MapIterator->second.st_StorageInfo.pSt_File); nWLen += nRet; @@ -283,7 +283,7 @@ BOOL CSession_UPStroage::Session_UPStroage_Write(LPCTSTR lpszClientAddr, LPCTSTR } stl_MapIterator->second.st_StorageInfo.ullRWLen += nWLen; st_Locker.unlock_shared(); - return TRUE; + return true; } /******************************************************************** 函数名称:Session_UPStroage_Exist @@ -298,20 +298,20 @@ BOOL CSession_UPStroage::Session_UPStroage_Write(LPCTSTR lpszClientAddr, LPCTSTR 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_UPStroage::Session_UPStroage_Exist(LPCTSTR lpszClientAddr) +bool CSession_UPStroage::Session_UPStroage_Exist(LPCXSTR lpszClientAddr) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; - BOOL bRet = FALSE; + bool bRet = false; st_Locker.lock(); unordered_map::iterator stl_MapIterator = stl_MapStroage.find(lpszClientAddr); if (stl_MapIterator == stl_MapStroage.end()) { - bRet = FALSE; + bRet = false; } else { - bRet = TRUE; + bRet = true; } st_Locker.unlock(); return bRet; @@ -334,21 +334,21 @@ BOOL CSession_UPStroage::Session_UPStroage_Exist(LPCTSTR lpszClientAddr) 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_UPStroage::Session_UPStorage_GetAll(SESSION_STORAGEINFO*** pppSt_StorageInfo, int* pInt_ListCount) +bool CSession_UPStroage::Session_UPStorage_GetAll(SESSION_STORAGEINFO*** pppSt_StorageInfo, int* pInt_ListCount) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; if (NULL == pInt_ListCount) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_PARAMENT; - return FALSE; + return false; } if (NULL == pppSt_StorageInfo) { *pInt_ListCount = stl_MapStroage.size(); - return TRUE; + return true; } st_Locker.lock_shared(); @@ -363,11 +363,11 @@ BOOL CSession_UPStroage::Session_UPStorage_GetAll(SESSION_STORAGEINFO*** pppSt_S if (0 == *pInt_ListCount) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_EMPTY; - return FALSE; + return false; } - return TRUE; + return true; } /******************************************************************** 函数名称:Session_UPStroage_Delete @@ -382,9 +382,9 @@ BOOL CSession_UPStroage::Session_UPStorage_GetAll(SESSION_STORAGEINFO*** pppSt_S 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_UPStroage::Session_UPStroage_Delete(LPCTSTR lpszClientAddr) +bool CSession_UPStroage::Session_UPStroage_Delete(LPCXSTR lpszClientAddr) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; st_Locker.lock(); unordered_map::iterator stl_MapIterator = stl_MapStroage.find(lpszClientAddr); @@ -397,12 +397,12 @@ BOOL CSession_UPStroage::Session_UPStroage_Delete(LPCTSTR lpszClientAddr) //大小是否足够 if ((stl_MapIterator->second.st_StorageInfo.ullCount != stl_MapIterator->second.st_StorageInfo.ullRWLen) && !m_bResume) { - _tremove(stl_MapIterator->second.st_StorageInfo.tszFileDir); + _xtremove(stl_MapIterator->second.st_StorageInfo.tszFileDir); } stl_MapStroage.erase(stl_MapIterator); } st_Locker.unlock(); - return TRUE; + return true; } /******************************************************************** 函数名称:Session_UPStroage_Close @@ -417,9 +417,9 @@ BOOL CSession_UPStroage::Session_UPStroage_Delete(LPCTSTR lpszClientAddr) 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_UPStroage::Session_UPStroage_Close(LPCTSTR lpszClientAddr) +bool CSession_UPStroage::Session_UPStroage_Close(LPCXSTR lpszClientAddr) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; st_Locker.lock_shared(); unordered_map::iterator stl_MapIterator = stl_MapStroage.find(lpszClientAddr); @@ -431,7 +431,7 @@ BOOL CSession_UPStroage::Session_UPStroage_Close(LPCTSTR lpszClientAddr) } } st_Locker.unlock_shared(); - return TRUE; + return true; } /******************************************************************** 函数名称:Session_UPStroage_MaxConnect @@ -446,28 +446,28 @@ BOOL CSession_UPStroage::Session_UPStroage_Close(LPCTSTR lpszClientAddr) 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_UPStroage::Session_UPStroage_MaxConnect(LPCTSTR lpszClientAddr) +bool CSession_UPStroage::Session_UPStroage_MaxConnect(LPCXSTR lpszClientAddr) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; int nExistNumber = 0; st_Locker.lock_shared(); unordered_map::iterator stl_MapIterator = stl_MapStroage.begin(); for (; stl_MapIterator != stl_MapStroage.end(); stl_MapIterator++) { - TCHAR tszIPSource[128]; - TCHAR tszIPDest[128]; + XCHAR tszIPSource[128]; + XCHAR tszIPDest[128]; memset(tszIPSource, '\0', sizeof(tszIPSource)); memset(tszIPDest, '\0', sizeof(tszIPDest)); - _tcscpy(tszIPSource, stl_MapIterator->first.c_str()); - _tcscpy(tszIPDest, lpszClientAddr); + _tcsxcpy(tszIPSource, stl_MapIterator->first.c_str()); + _tcsxcpy(tszIPDest, lpszClientAddr); BaseLib_OperatorIPAddr_SegAddr(tszIPSource); BaseLib_OperatorIPAddr_SegAddr(tszIPDest); - if (0 == _tcscmp(tszIPSource, tszIPDest)) + if (0 == _tcsxcmp(tszIPSource, tszIPDest)) { nExistNumber++; } @@ -476,9 +476,9 @@ BOOL CSession_UPStroage::Session_UPStroage_MaxConnect(LPCTSTR lpszClientAddr) if (nExistNumber >= m_nMaxConnect) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_MAXCONNECT; - return FALSE; + return false; } - return TRUE; + return true; } \ No newline at end of file diff --git a/XEngine_Source/StorageModule_Session/Session_Stroage/Session_UPStroage.h b/XEngine_Source/StorageModule_Session/Session_Stroage/Session_UPStroage.h index 26e7e0ab3aa5d1dfc720db6964d9dde8a2538230..ca1c781bf07e19226b1c600f900f6d7f9e46edb5 100644 --- a/XEngine_Source/StorageModule_Session/Session_Stroage/Session_UPStroage.h +++ b/XEngine_Source/StorageModule_Session/Session_Stroage/Session_UPStroage.h @@ -22,18 +22,18 @@ public: CSession_UPStroage(); ~CSession_UPStroage(); public: - BOOL Session_UPStroage_Init(int nMaxConnect, BOOL bUPResume = FALSE); - BOOL Session_UPStroage_Destory(); - BOOL Session_UPStroage_Insert(LPCTSTR lpszClientAddr, LPCTSTR lpszBuckKey, LPCTSTR lpszFileDir, __int64x nFileSize, BOOL bRewrite, int nPosStart = 0, int nPostEnd = 0); - BOOL Session_UPStroage_GetInfo(LPCTSTR lpszClientAddr, SESSION_STORAGEINFO* pSt_StorageInfo); - BOOL Session_UPStroage_Write(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen); - BOOL Session_UPStroage_Exist(LPCTSTR lpszClientAddr); - BOOL Session_UPStorage_GetAll(SESSION_STORAGEINFO*** pppSt_StorageInfo, int* pInt_ListCount); - BOOL Session_UPStroage_Delete(LPCTSTR lpszClientAddr); - BOOL Session_UPStroage_Close(LPCTSTR lpszClientAddr); - BOOL Session_UPStroage_MaxConnect(LPCTSTR lpszClientAddr); + bool Session_UPStroage_Init(int nMaxConnect, bool bUPResume = false); + bool Session_UPStroage_Destory(); + bool Session_UPStroage_Insert(LPCXSTR lpszClientAddr, LPCXSTR lpszBuckKey, LPCXSTR lpszFileDir, __int64x nFileSize, bool bRewrite, int nPosStart = 0, int nPostEnd = 0); + bool Session_UPStroage_GetInfo(LPCXSTR lpszClientAddr, SESSION_STORAGEINFO* pSt_StorageInfo); + bool Session_UPStroage_Write(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen); + bool Session_UPStroage_Exist(LPCXSTR lpszClientAddr); + bool Session_UPStorage_GetAll(SESSION_STORAGEINFO*** pppSt_StorageInfo, int* pInt_ListCount); + bool Session_UPStroage_Delete(LPCXSTR lpszClientAddr); + bool Session_UPStroage_Close(LPCXSTR lpszClientAddr); + bool Session_UPStroage_MaxConnect(LPCXSTR lpszClientAddr); private: - BOOL m_bResume; + bool m_bResume; int m_nMaxConnect; private: shared_mutex st_Locker; diff --git a/XEngine_Source/StorageModule_Session/Session_User/Session_User.cpp b/XEngine_Source/StorageModule_Session/Session_User/Session_User.cpp index eea19b74cea4326383158e9de52cc2887acdc2fa..acfa3883963c342215cfe22e34aa86fab659279f 100644 --- a/XEngine_Source/StorageModule_Session/Session_User/Session_User.cpp +++ b/XEngine_Source/StorageModule_Session/Session_User/Session_User.cpp @@ -33,22 +33,22 @@ CSession_User::~CSession_User() 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_User::Session_User_Init(LPCTSTR lpszUserFile) +bool CSession_User::Session_User_Init(LPCXSTR lpszUserFile) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; - FILE* pSt_File = _tfopen(lpszUserFile, _T("rb")); + FILE* pSt_File = _xtfopen(lpszUserFile, _X("rb")); if (NULL == pSt_File) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_OPENFILE; - return FALSE; + return false; } int nCount = 0; - TCHAR tszMsgBuffer[4096]; + XCHAR tszMsgBuffer[4096]; memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); - while (TRUE) + while (true) { int nRet = fread(tszMsgBuffer + nCount, 1, 1024, pSt_File); if (nRet <= 0) @@ -59,8 +59,8 @@ BOOL CSession_User::Session_User_Init(LPCTSTR lpszUserFile) } fclose(pSt_File); - LPCTSTR lpszLineStr = _T("\r\n"); - TCHAR* ptszTokStr = _tcstok(tszMsgBuffer, lpszLineStr); + LPCXSTR lpszLineStr = _X("\r\n"); + XCHAR* ptszTokStr = _tcsxtok(tszMsgBuffer, lpszLineStr); while (1) { if (NULL == ptszTokStr) @@ -70,12 +70,12 @@ BOOL CSession_User::Session_User_Init(LPCTSTR lpszUserFile) SESSION_USERINFO st_UserInfo; memset(&st_UserInfo, '\0', sizeof(SESSION_USERINFO)); - _stscanf(ptszTokStr, _T("%s %s %s"), st_UserInfo.tszUserName, st_UserInfo.tszUserPass, st_UserInfo.tszUserLimit); + _stxscanf(ptszTokStr, _X("%s %s %s"), st_UserInfo.tszUserName, st_UserInfo.tszUserPass, st_UserInfo.tszUserLimit); stl_MapUser.insert(make_pair(st_UserInfo.tszUserName, st_UserInfo)); - ptszTokStr = _tcstok(NULL, lpszLineStr); + ptszTokStr = _tcsxtok(NULL, lpszLineStr); } - return TRUE; + return true; } /******************************************************************** 函数名称:Session_User_Destory @@ -85,15 +85,15 @@ BOOL CSession_User::Session_User_Init(LPCTSTR lpszUserFile) 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_User::Session_User_Destory() +bool CSession_User::Session_User_Destory() { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; st_Locker.lock(); stl_MapUser.clear(); st_Locker.unlock(); - return TRUE; + return true; } /******************************************************************** 函数名称:Session_User_Exist @@ -118,38 +118,38 @@ BOOL CSession_User::Session_User_Destory() 意思:是否成功 备注: *********************************************************************/ -BOOL CSession_User::Session_User_Exist(LPCTSTR lpszUser, LPCTSTR lpszPass, int* pInt_Limit /* = NULL */) +bool CSession_User::Session_User_Exist(LPCXSTR lpszUser, LPCXSTR lpszPass, int* pInt_Limit /* = NULL */) { - Session_IsErrorOccur = FALSE; + Session_IsErrorOccur = false; st_Locker.lock_shared(); unordered_map::const_iterator stl_MapIterator = stl_MapUser.find(lpszUser); if (stl_MapIterator == stl_MapUser.end()) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_NOTFOUND; st_Locker.unlock_shared(); - return FALSE; + return false; } - if (_tcslen(lpszPass) != _tcslen(stl_MapIterator->second.tszUserPass)) + if (_tcsxlen(lpszPass) != _tcsxlen(stl_MapIterator->second.tszUserPass)) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_PASSWORD; st_Locker.unlock_shared(); - return FALSE; + return false; } - if (0 != _tcsncmp(lpszPass, stl_MapIterator->second.tszUserPass, _tcslen(lpszPass))) + if (0 != _tcsxncmp(lpszPass, stl_MapIterator->second.tszUserPass, _tcsxlen(lpszPass))) { - Session_IsErrorOccur = TRUE; + Session_IsErrorOccur = true; Session_dwErrorCode = ERROR_STORAGE_MODULE_SESSION_PASSWORD; st_Locker.unlock_shared(); - return FALSE; + return false; } if (NULL != pInt_Limit) { - *pInt_Limit = _ttoi(stl_MapIterator->second.tszUserLimit); + *pInt_Limit = _ttxoi(stl_MapIterator->second.tszUserLimit); } st_Locker.unlock_shared(); - return TRUE; + return true; } \ No newline at end of file diff --git a/XEngine_Source/StorageModule_Session/Session_User/Session_User.h b/XEngine_Source/StorageModule_Session/Session_User/Session_User.h index 36ebad96f4d69608ed911492ca2d8730e4b1f113..56e3b6f36425f414b52e98c9728b66d86028ae43 100644 --- a/XEngine_Source/StorageModule_Session/Session_User/Session_User.h +++ b/XEngine_Source/StorageModule_Session/Session_User/Session_User.h @@ -13,9 +13,9 @@ typedef struct { - TCHAR tszUserName[128]; - TCHAR tszUserPass[128]; - TCHAR tszUserLimit[128]; + XCHAR tszUserName[128]; + XCHAR tszUserPass[128]; + XCHAR tszUserLimit[128]; }SESSION_USERINFO; class CSession_User @@ -24,9 +24,9 @@ public: CSession_User(); ~CSession_User(); public: - BOOL Session_User_Init(LPCTSTR lpszUserFile); - BOOL Session_User_Destory(); - BOOL Session_User_Exist(LPCTSTR lpszUser, LPCTSTR lpszPass, int* pInt_Limit = NULL); + bool Session_User_Init(LPCXSTR lpszUserFile); + bool Session_User_Destory(); + bool Session_User_Exist(LPCXSTR lpszUser, LPCXSTR lpszPass, int* pInt_Limit = NULL); private: shared_mutex st_Locker; private: diff --git a/XEngine_Source/StorageModule_Session/dllmain.cpp b/XEngine_Source/StorageModule_Session/dllmain.cpp index daed8c8f7ac50ca1466016a0529648d18125a7e7..594ff2123d474b129bb2014fb572f03c9741bf0b 100644 --- a/XEngine_Source/StorageModule_Session/dllmain.cpp +++ b/XEngine_Source/StorageModule_Session/dllmain.cpp @@ -1,9 +1,9 @@ // dllmain.cpp : 定义 DLL 应用程序的入口点。 #include "pch.h" -BOOL APIENTRY DllMain( HMODULE hModule, - DWORD ul_reason_for_call, - LPVOID lpReserved +bool APIENTRY DllMain( HMODULE hModule, + XLONG ul_reason_for_call, + XPVOID lpReserved ) { switch (ul_reason_for_call) @@ -14,6 +14,6 @@ BOOL APIENTRY DllMain( HMODULE hModule, case DLL_PROCESS_DETACH: break; } - return TRUE; + return true; } diff --git a/XEngine_Source/StorageModule_Session/pch.cpp b/XEngine_Source/StorageModule_Session/pch.cpp index 8b6680d1e9aeae610d2ffeb4d139b952f830ad88..9d98696d78fced229f8ddc9531f91ff0946e79f7 100644 --- a/XEngine_Source/StorageModule_Session/pch.cpp +++ b/XEngine_Source/StorageModule_Session/pch.cpp @@ -13,8 +13,8 @@ // Purpose: 会话导出实现 // History: *********************************************************************/ -BOOL Session_IsErrorOccur = FALSE; -DWORD Session_dwErrorCode = 0; +bool Session_IsErrorOccur = false; +XLONG Session_dwErrorCode = 0; ////////////////////////////////////////////////////////////////////////// CSession_DLStroage m_DLStorage; CSession_UPStroage m_UPStorage; @@ -22,7 +22,7 @@ CSession_User m_User; ////////////////////////////////////////////////////////////////////////// // 导出函数定义机器 ////////////////////////////////////////////////////////////////////////// -extern "C" DWORD Session_GetLastError(int* pInt_SysError) +extern "C" XLONG Session_GetLastError(int* pInt_SysError) { if (NULL != pInt_SysError) { @@ -33,98 +33,98 @@ extern "C" DWORD Session_GetLastError(int* pInt_SysError) /************************************************************************/ /* 用户管理导出的函数 */ /************************************************************************/ -extern "C" BOOL Session_User_Init(LPCTSTR lpszUserFile) +extern "C" bool Session_User_Init(LPCXSTR lpszUserFile) { return m_User.Session_User_Init(lpszUserFile); } -extern "C" BOOL Session_User_Destory() +extern "C" bool Session_User_Destory() { return m_User.Session_User_Destory(); } -extern "C" BOOL Session_User_Exist(LPCTSTR lpszUser, LPCTSTR lpszPass, int* pInt_Limit) +extern "C" bool Session_User_Exist(LPCXSTR lpszUser, LPCXSTR lpszPass, int* pInt_Limit) { return m_User.Session_User_Exist(lpszUser, lpszPass, pInt_Limit); } /************************************************************************/ /* 存储会话导出的函数 */ /************************************************************************/ -extern "C" BOOL Session_DLStroage_Init(int nMaxConnect) +extern "C" bool Session_DLStroage_Init(int nMaxConnect) { return m_DLStorage.Session_DLStroage_Init(nMaxConnect); } -extern "C" BOOL Session_DLStroage_Destory() +extern "C" bool Session_DLStroage_Destory() { return m_DLStorage.Session_DLStroage_Destory(); } -extern "C" BOOL Session_DLStroage_Insert(LPCTSTR lpszClientAddr, LPCTSTR lpszBuckKey, LPCTSTR lpszFileDir, __int64x * pInt_Count, __int64x * pInt_LeftCount, int nPosStart, int nPostEnd, LPCTSTR lpszFileHash, int nLimit, XHANDLE xhToken) +extern "C" bool Session_DLStroage_Insert(LPCXSTR lpszClientAddr, LPCXSTR lpszBuckKey, LPCXSTR lpszFileDir, __int64x * pInt_Count, __int64x * pInt_LeftCount, int nPosStart, int nPostEnd, LPCXSTR lpszFileHash, int nLimit, XHANDLE xhToken) { return m_DLStorage.Session_DLStroage_Insert(lpszClientAddr, lpszBuckKey, lpszFileDir, pInt_Count, pInt_LeftCount, nPosStart, nPostEnd, lpszFileHash, nLimit, xhToken); } -extern "C" BOOL Session_DLStroage_GetBuffer(LPCTSTR lpszClientAddr, TCHAR * ptszMsgBuffer, int* pInt_MsgLen) +extern "C" bool Session_DLStroage_GetBuffer(LPCXSTR lpszClientAddr, XCHAR * ptszMsgBuffer, int* pInt_MsgLen) { return m_DLStorage.Session_DLStroage_GetBuffer(lpszClientAddr, ptszMsgBuffer, pInt_MsgLen); } -extern "C" BOOL Session_DLStroage_GetInfo(LPCTSTR lpszClientAddr, SESSION_STORAGEINFO * pSt_StorageInfo) +extern "C" bool Session_DLStroage_GetInfo(LPCXSTR lpszClientAddr, SESSION_STORAGEINFO * pSt_StorageInfo) { return m_DLStorage.Session_DLStroage_GetInfo(lpszClientAddr, pSt_StorageInfo); } -extern "C" BOOL Session_DLStroage_GetCount(int* pInt_ListCount) +extern "C" bool Session_DLStroage_GetCount(int* pInt_ListCount) { return m_DLStorage.Session_DLStroage_GetCount(pInt_ListCount); } -extern "C" BOOL Session_DLStorage_SetSeek(LPCTSTR lpszClientAddr, int nSeek) +extern "C" bool Session_DLStorage_SetSeek(LPCXSTR lpszClientAddr, int nSeek) { return m_DLStorage.Session_DLStorage_SetSeek(lpszClientAddr, nSeek); } -extern "C" BOOL Session_DLStorage_GetAll(SESSION_STORAGEINFO * **pppSt_StorageInfo, int* pInt_ListCount) +extern "C" bool Session_DLStorage_GetAll(SESSION_STORAGEINFO * **pppSt_StorageInfo, int* pInt_ListCount) { return m_DLStorage.Session_DLStorage_GetAll(pppSt_StorageInfo, pInt_ListCount); } -extern "C" BOOL Session_DLStroage_Delete(LPCTSTR lpszClientAddr) +extern "C" bool Session_DLStroage_Delete(LPCXSTR lpszClientAddr) { return m_DLStorage.Session_DLStroage_Delete(lpszClientAddr); } -extern "C" BOOL Session_DLStroage_MaxConnect(LPCTSTR lpszClientAddr) +extern "C" bool Session_DLStroage_MaxConnect(LPCXSTR lpszClientAddr) { return m_DLStorage.Session_DLStroage_MaxConnect(lpszClientAddr); } -extern "C" BOOL Session_UPStroage_Init(int nMaxConnect, BOOL bUPResume) +extern "C" bool Session_UPStroage_Init(int nMaxConnect, bool bUPResume) { return m_UPStorage.Session_UPStroage_Init(nMaxConnect, bUPResume); } -extern "C" BOOL Session_UPStroage_Destory() +extern "C" bool Session_UPStroage_Destory() { return m_UPStorage.Session_UPStroage_Destory(); } -extern "C" BOOL Session_UPStroage_Insert(LPCTSTR lpszClientAddr, LPCTSTR lpszBuckKey, LPCTSTR lpszFileDir, __int64x nFileSize, BOOL bRewrite, int nPosStart, int nPostEnd) +extern "C" bool Session_UPStroage_Insert(LPCXSTR lpszClientAddr, LPCXSTR lpszBuckKey, LPCXSTR lpszFileDir, __int64x nFileSize, bool bRewrite, int nPosStart, int nPostEnd) { return m_UPStorage.Session_UPStroage_Insert(lpszClientAddr, lpszBuckKey, lpszFileDir, nFileSize, bRewrite, nPosStart, nPostEnd); } -extern "C" BOOL Session_UPStroage_GetInfo(LPCTSTR lpszClientAddr, SESSION_STORAGEINFO * pSt_StorageInfo) +extern "C" bool Session_UPStroage_GetInfo(LPCXSTR lpszClientAddr, SESSION_STORAGEINFO * pSt_StorageInfo) { return m_UPStorage.Session_UPStroage_GetInfo(lpszClientAddr, pSt_StorageInfo); } -extern "C" BOOL Session_UPStroage_Write(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen) +extern "C" bool Session_UPStroage_Write(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen) { return m_UPStorage.Session_UPStroage_Write(lpszClientAddr, lpszMsgBuffer, nMsgLen); } -extern "C" BOOL Session_UPStroage_Exist(LPCTSTR lpszClientAddr) +extern "C" bool Session_UPStroage_Exist(LPCXSTR lpszClientAddr) { return m_UPStorage.Session_UPStroage_Exist(lpszClientAddr); } -extern "C" BOOL Session_UPStorage_GetAll(SESSION_STORAGEINFO * **pppSt_StorageInfo, int* pInt_ListCount) +extern "C" bool Session_UPStorage_GetAll(SESSION_STORAGEINFO * **pppSt_StorageInfo, int* pInt_ListCount) { return m_UPStorage.Session_UPStorage_GetAll(pppSt_StorageInfo, pInt_ListCount); } -extern "C" BOOL Session_UPStroage_Delete(LPCTSTR lpszClientAddr) +extern "C" bool Session_UPStroage_Delete(LPCXSTR lpszClientAddr) { return m_UPStorage.Session_UPStroage_Delete(lpszClientAddr); } -extern "C" BOOL Session_UPStroage_Close(LPCTSTR lpszClientAddr) +extern "C" bool Session_UPStroage_Close(LPCXSTR lpszClientAddr) { return m_UPStorage.Session_UPStroage_Close(lpszClientAddr); } -extern "C" BOOL Session_UPStroage_MaxConnect(LPCTSTR lpszClientAddr) +extern "C" bool Session_UPStroage_MaxConnect(LPCXSTR lpszClientAddr) { return m_UPStorage.Session_UPStroage_MaxConnect(lpszClientAddr); } \ No newline at end of file diff --git a/XEngine_Source/StorageModule_Session/pch.h b/XEngine_Source/StorageModule_Session/pch.h index 25d26343258969683230b0b68ec03e1585d01a0a..11a2aec640d73892618f878f7b873021b64eb69a 100644 --- a/XEngine_Source/StorageModule_Session/pch.h +++ b/XEngine_Source/StorageModule_Session/pch.h @@ -46,8 +46,8 @@ using namespace std; // Purpose: 会话公用头文件 // History: *********************************************************************/ -extern BOOL Session_IsErrorOccur; -extern DWORD Session_dwErrorCode; +extern bool Session_IsErrorOccur; +extern XLONG Session_dwErrorCode; #ifdef _WINDOWS #pragma comment(lib,"XEngine_BaseLib/XEngine_BaseLib.lib") diff --git a/XEngine_Source/VSCopy_Debug.bat b/XEngine_Source/VSCopy_Debug.bat index 0acd9dd9bccd59e653eb2d803ff343da042ffe71..bcf1298c55d44d112e67958cc8a9074696262d84 100644 --- a/XEngine_Source/VSCopy_Debug.bat +++ b/XEngine_Source/VSCopy_Debug.bat @@ -9,4 +9,4 @@ copy /y "D:\XEngine\XEngine_SourceCode\Debug\NetHelp_APIClient.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_DataBase.dll" "./" copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_XLog.dll" "./" -copy /y "D:\XEngine\XEngine_SourceCode\Debug\RfcComponents_HttpServer.dll" "./" \ No newline at end of file +copy /y "D:\XEngine\XEngine_SourceCode\Debug\RfcComponents_HttpProtocol.dll" "./" \ No newline at end of file diff --git a/XEngine_Source/VSCopy_x64.bat b/XEngine_Source/VSCopy_x64.bat index cd0fcf887056a0893866a77d465f64e2c83ed8a5..ba0a30626326f08babeacc6418fa2a50f3350302 100644 --- a/XEngine_Source/VSCopy_x64.bat +++ b/XEngine_Source/VSCopy_x64.bat @@ -9,7 +9,7 @@ copy /y "%XEngine_Lib64%\XEngine_NetHelp\NetHelp_APIClient.dll" "./" copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./" copy /y "%XEngine_Lib64%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" -copy /y "%XEngine_Lib64%\XEngine_RfcComponents\RfcComponents_HttpServer.dll" "./" +copy /y "%XEngine_Lib64%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" copy /y "%XEngine_Lib64%\XEngine_HelpComponents\bson-1.0.dll" "./" copy /y "%XEngine_Lib64%\XEngine_HelpComponents\mongoc-1.0.dll" "./" diff --git a/XEngine_Source/VSCopy_x86.bat b/XEngine_Source/VSCopy_x86.bat index 90c09f5898b93920a42b48299b576af450abc613..d754d3d39cb2f27617fb5b036c75c40ca19f1a74 100644 --- a/XEngine_Source/VSCopy_x86.bat +++ b/XEngine_Source/VSCopy_x86.bat @@ -9,7 +9,7 @@ copy /y "%XEngine_Lib32%\XEngine_NetHelp\NetHelp_APIClient.dll" "./" copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_DataBase.dll" "./" copy /y "%XEngine_Lib32%\XEngine_HelpComponents\HelpComponents_XLog.dll" "./" -copy /y "%XEngine_Lib32%\XEngine_RfcComponents\RfcComponents_HttpServer.dll" "./" +copy /y "%XEngine_Lib32%\XEngine_RfcComponents\RfcComponents_HttpProtocol.dll" "./" copy /y "%XEngine_Lib32%\XEngine_HelpComponents\bson-1.0.dll" "./" copy /y "%XEngine_Lib32%\XEngine_HelpComponents\mongoc-1.0.dll" "./" diff --git a/XEngine_Source/XEngine_StorageApp/Makefile b/XEngine_Source/XEngine_StorageApp/Makefile index a945cf340376c1ba17a81659a48a5423e3167900..17478fdaab86acbb5ac53f2a40efc210ea3483dd 100644 --- a/XEngine_Source/XEngine_StorageApp/Makefile +++ b/XEngine_Source/XEngine_StorageApp/Makefile @@ -1,26 +1,24 @@ -CC = g++ -Wall -std=c++17 +CC = g++ -Wall -std=c++17 -fPIC -Wformat-overflow=0 +PLATFORM = linux +PLATVER = +PLATDIR = RELEASE = 0 -UNICODE = 0 -LOADBIN = -L ../StorageModule_Database -L ../StorageModule_Config -L ../StorageModule_Session -L ../StorageModule_APIHelp -L ../StorageModule_Protocol -L ../XEngine_ThirdPart/jsoncpp -LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_ManagePool -lXEngine_OPenSsl -lXEngine_ProcFile -lXEngine_SystemApi -lHelpComponents_XLog -lHelpComponents_Packets -lRfcComponents_HttpServer -lNetHelp_APIClient \ +UNICODE = 0 +LOADHDR = -I ./ -I ../XEngine_ThirdPart/jsoncpp +LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Core -L /usr/local/lib/XEngine_Release/XEngine_SystemSdk -L /usr/local/lib/XEngine_Release/XEngine_HelpComponents -L /usr/local/lib/XEngine_Release/XEngine_RfcComponents -L /usr/local/lib/XEngine_Release/XEngine_NetHelp \ + -L ../StorageModule_Database -L ../StorageModule_Config -L ../StorageModule_Session -L ../StorageModule_APIHelp -L ../StorageModule_Protocol -L ../XEngine_ThirdPart/jsoncpp +LIB = -lXEngine_BaseLib -lXEngine_Algorithm -lXEngine_Core -lXEngine_ManagePool -lXEngine_OPenSsl -lXEngine_ProcFile -lXEngine_SystemApi -lHelpComponents_XLog -lHelpComponents_Packets -lRfcComponents_HttpProtocol -lNetHelp_APIClient \ -lStorageModule_Database -lStorageModule_Config -lStorageModule_Session -lStorageModule_APIHelp -lStorageModule_Protocol \ -ljsoncpp -LIBEX = -ldl -lpthread -LOADSO = -Wl,-rpath=./,--disable-new-dtags -LIBINCLUDE = StorageApp_Config.o StorageApp_Download.o StorageApp_Network.o StorageApp_Center.o StorageApp_UPLoader.o Storage_TaskPass.o Storage_TaskManage.o Storage_TaskP2p.o XEngine_StorageApp.o - -ifeq ($(shell uname),Darwin) - LOADSO = -else - LOADBIN += -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Core -L /usr/local/lib/XEngine_Release/XEngine_SystemSdk -L /usr/local/lib/XEngine_Release/XEngine_HelpComponents -L /usr/local/lib/XEngine_Release/XEngine_RfcComponents -L /usr/local/lib/XEngine_Release/XEngine_NetHelp -endif +LIBEX = +OBJECTS = StorageApp_Config.o StorageApp_Download.o StorageApp_Network.o StorageApp_Center.o StorageApp_UPLoader.o Storage_TaskPass.o Storage_TaskManage.o Storage_TaskP2p.o XEngine_StorageApp.o ifeq ($(RELEASE),1) -FLAGS = -c -O2 +FLAGS = -c DEBUG = else -FLAGS = -c -DEBUG = -g +FLAGS = -c -lc_p +DEBUG = -g -pg endif ifeq ($(UNICODE),1) @@ -29,29 +27,47 @@ else UNICODE = endif -all:$(LIBINCLUDE) - $(CC) $(DEBUG) $(LIBINCLUDE) -o XEngine_XStorageApp $(LOADBIN) $(LIB) $(LIBEX) $(LOADSO) +ifeq ($(PLATFORM),linux) + ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release)) + PLATVER = -D __CENTOS__ + PLATDIR = XEngine_Linux/Centos + else + PLATVER = -D __UBUNTU__ + PLATDIR = XEngine_Linux/Ubuntu + endif + LIBEX = -lpthread -lrt -ldl + LOADBIN = -Wl,-rpath=./,--disable-new-dtags +else ifeq ($(PLATFORM),mac) + CC += -Wno-deprecated-declarations + PLATVER = -D __MACOS__ + PLATDIR = XEngine_Mac + LIBEX = -lpthread -ldl + LOADBIN = -Wl,-rpath,@loader_path/./ +endif + +all:$(OBJECTS) + $(CC) $(DEBUG) $(OBJECTS) -o XEngine_XStorageApp $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN) StorageApp_Config.o:./StorageApp_Config.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) ./StorageApp_Config.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./StorageApp_Config.cpp StorageApp_Download.o:./StorageApp_Download.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) ./StorageApp_Download.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./StorageApp_Download.cpp StorageApp_Network.o:./StorageApp_Network.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) ./StorageApp_Network.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./StorageApp_Network.cpp StorageApp_Center.o:./StorageApp_Center.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) ./StorageApp_Center.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./StorageApp_Center.cpp StorageApp_UPLoader.o:./StorageApp_UPLoader.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) ./StorageApp_UPLoader.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./StorageApp_UPLoader.cpp Storage_TaskPass.o:./Storage_APPTask/Storage_TaskPass.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) ./Storage_APPTask/Storage_TaskPass.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Storage_APPTask/Storage_TaskPass.cpp Storage_TaskManage.o:./Storage_APPTask/Storage_TaskManage.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) ./Storage_APPTask/Storage_TaskManage.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Storage_APPTask/Storage_TaskManage.cpp Storage_TaskP2p.o:./Storage_APPTask/Storage_TaskP2p.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) ./Storage_APPTask/Storage_TaskP2p.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./Storage_APPTask/Storage_TaskP2p.cpp XEngine_StorageApp.o:./XEngine_StorageApp.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) ./XEngine_StorageApp.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) ./XEngine_StorageApp.cpp InstallAll:InstallApp diff --git a/XEngine_Source/XEngine_StorageApp/StorageApp_Center.cpp b/XEngine_Source/XEngine_StorageApp/StorageApp_Center.cpp index 78c6df0d93de5780c7a60e6d8223a951a48ba2f2..4e5509eda864609f0b2552de1decc890109044f8 100644 --- a/XEngine_Source/XEngine_StorageApp/StorageApp_Center.cpp +++ b/XEngine_Source/XEngine_StorageApp/StorageApp_Center.cpp @@ -1,6 +1,6 @@ #include "StorageApp_Hdr.h" -XHTHREAD CALLBACK XEngine_Center_HTTPThread(LPVOID lParam) +XHTHREAD CALLBACK XEngine_Center_HTTPThread(XPVOID lParam) { int nThreadPos = *(int*)lParam; nThreadPos++; @@ -8,25 +8,25 @@ XHTHREAD CALLBACK XEngine_Center_HTTPThread(LPVOID lParam) while (bIsRun) { //等待指定线程事件触发 - if (RfcComponents_HttpServer_EventWaitEx(xhCenterHttp, nThreadPos)) + if (HttpProtocol_Server_EventWaitEx(xhCenterHttp, nThreadPos)) { int nListCount = 0; RFCCOMPONENTS_HTTP_PKTCLIENT** ppSt_PKTClient; //获取当前队列池中所有触发上传客户端 - RfcComponents_HttpServer_GetPoolEx(xhCenterHttp, nThreadPos, &ppSt_PKTClient, &nListCount); + HttpProtocol_Server_GetPoolEx(xhCenterHttp, nThreadPos, &ppSt_PKTClient, &nListCount); for (int i = 0; i < nListCount; i++) { for (int j = 0; j < ppSt_PKTClient[i]->nPktCount; j++) { int nMsgLen = 0; int nHdrCount = 0; - CHAR* ptszMsgBuffer = NULL; - CHAR** ppszListHdr = NULL; + XCHAR* ptszMsgBuffer = NULL; + XCHAR** ppszListHdr = NULL; RFCCOMPONENTS_HTTP_REQPARAM st_HTTPParam; memset(&st_HTTPParam, '\0', sizeof(RFCCOMPONENTS_HTTP_REQPARAM)); //获得指定上传客户端触发信息 - if (RfcComponents_HttpServer_GetMemoryEx(xhCenterHttp, ppSt_PKTClient[i]->tszClientAddr, &ptszMsgBuffer, &nMsgLen, &st_HTTPParam, &ppszListHdr, &nHdrCount)) + if (HttpProtocol_Server_GetMemoryEx(xhCenterHttp, ppSt_PKTClient[i]->tszClientAddr, &ptszMsgBuffer, &nMsgLen, &st_HTTPParam, &ppszListHdr, &nHdrCount)) { XEngine_Task_HttpCenter(ppSt_PKTClient[i]->tszClientAddr, ptszMsgBuffer, nMsgLen, &st_HTTPParam, ppszListHdr, nHdrCount); } @@ -40,13 +40,13 @@ XHTHREAD CALLBACK XEngine_Center_HTTPThread(LPVOID lParam) return 0; } //POST /api/query/file -BOOL XEngine_Task_HttpCenter(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, TCHAR** pptszListHdr, int nHdrCount) +bool XEngine_Task_HttpCenter(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, XCHAR** pptszListHdr, int nHdrCount) { int nSDLen = 2048; - TCHAR tszSDBuffer[2048]; - TCHAR tszAPIVersion[64]; - TCHAR tszAPIMethod[64]; - TCHAR tszAPIName[64]; + XCHAR tszSDBuffer[2048]; + XCHAR tszAPIVersion[64]; + XCHAR tszAPIMethod[64]; + XCHAR tszAPIName[64]; RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam; memset(tszSDBuffer, '\0', sizeof(tszSDBuffer)); @@ -55,129 +55,129 @@ BOOL XEngine_Task_HttpCenter(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int memset(tszAPIName, '\0', sizeof(tszAPIName)); memset(&st_HDRParam, '\0', sizeof(RFCCOMPONENTS_HTTP_HDRPARAM)); - LPCTSTR lpszMethodPost = _T("POST"); - LPCTSTR lpszMethodOption = _T("OPTIONS"); + LPCXSTR lpszMethodPost = _X("POST"); + LPCXSTR lpszMethodOption = _X("OPTIONS"); - if (st_ServiceCfg.st_XProxy.st_XProxyAuth.bAuth) + if (st_ServiceCfg.st_XAuth.bCHAuth) { - TCHAR tszUserName[64]; - TCHAR tszUserPass[64]; + XCHAR tszUserName[64]; + XCHAR tszUserPass[64]; memset(tszUserName, '\0', sizeof(tszUserName)); memset(tszUserPass, '\0', sizeof(tszUserPass)); if (!APIHelp_Api_ProxyAuth(tszUserName, tszUserPass, pptszListHdr, nHdrCount)) { - st_HDRParam.bIsClose = TRUE; - st_HDRParam.bAuth = TRUE; + st_HDRParam.bIsClose = true; + st_HDRParam.bAuth = true; st_HDRParam.nHttpCode = 401; - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,用户验证失败,错误:%lX"), lpszClientAddr, StorageHelp_GetLastError()); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,用户验证失败,错误:%lX"), lpszClientAddr, StorageHelp_GetLastError()); + return false; } - if (_tcslen(st_ServiceCfg.st_XProxy.st_XProxyAuth.tszAuthProxy) > 0) + if (st_ServiceCfg.st_XProxy.bAuthPass) { int nBLen = 0; int nResponseCode = 0; - TCHAR* ptszBody = NULL; + XCHAR* ptszBody = NULL; Protocol_StoragePacket_BasicAuth(pSt_HTTPParam->tszHttpMethod, pSt_HTTPParam->tszHttpUri, lpszClientAddr, tszUserName, tszUserPass, tszSDBuffer, &nSDLen); - APIClient_Http_Request(_T("POST"), st_ServiceCfg.st_XProxy.st_XProxyAuth.tszAuthProxy, tszSDBuffer, &nResponseCode, &ptszBody, &nBLen); + APIClient_Http_Request(_X("POST"), st_ServiceCfg.st_XProxy.tszAuthPass, tszSDBuffer, &nResponseCode, &ptszBody, &nBLen); if (200 != nResponseCode) { - st_HDRParam.bIsClose = TRUE; - st_HDRParam.bAuth = TRUE; + st_HDRParam.bIsClose = true; + st_HDRParam.bAuth = true; st_HDRParam.nHttpCode = nResponseCode; - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,用户验证失败,用户名:%s,密码:%s,错误码:%d,错误内容:%s"), tszUserName, tszUserPass, tszUserPass, nResponseCode, ptszBody); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,用户验证失败,用户名:%s,密码:%s,错误码:%d,错误内容:%s"), tszUserName, tszUserPass, tszUserPass, nResponseCode, ptszBody); } BaseLib_OperatorMemory_FreeCStyle((VOID**)&ptszBody); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,代理服务:%s 验证通过,用户名:%s,密码:%s"), lpszClientAddr, st_ServiceCfg.st_XProxy.st_XProxyAuth.tszAuthProxy, tszUserName, tszUserPass); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,代理服务:%s 验证通过,用户名:%s,密码:%s"), lpszClientAddr, st_ServiceCfg.st_XProxy.tszAuthPass, tszUserName, tszUserPass); } else { if (!Session_User_Exist(tszUserName, tszUserPass)) { - st_HDRParam.bIsClose = TRUE; - st_HDRParam.bAuth = TRUE; + st_HDRParam.bIsClose = true; + st_HDRParam.bAuth = true; st_HDRParam.nHttpCode = 401; - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,验证用户失败,无法继续"), lpszClientAddr); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,验证用户失败,无法继续"), lpszClientAddr); + return false; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,本地验证用户验证通过,用户名:%s,密码:%s"), lpszClientAddr, tszUserName, tszUserPass); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,本地验证用户验证通过,用户名:%s,密码:%s"), lpszClientAddr, tszUserName, tszUserPass); } - st_HDRParam.bAuth = TRUE; + st_HDRParam.bAuth = true; } - if (0 == _tcsnicmp(lpszMethodPost, pSt_HTTPParam->tszHttpMethod, _tcslen(lpszMethodPost))) + if (0 == _tcsxnicmp(lpszMethodPost, pSt_HTTPParam->tszHttpMethod, _tcsxlen(lpszMethodPost))) { //使用重定向? if (st_LoadbalanceCfg.st_LBDistributed.nCenterMode > 0) { - TCHAR tszHdrBuffer[1024]; - TCHAR tszStorageAddr[128]; + XCHAR tszHdrBuffer[1024]; + XCHAR tszStorageAddr[128]; memset(tszHdrBuffer, '\0', sizeof(tszHdrBuffer)); memset(tszStorageAddr, '\0', sizeof(tszStorageAddr)); - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 302; APIHelp_Distributed_RandomAddr(st_LoadbalanceCfg.st_LoadBalance.pStl_ListCenter, tszStorageAddr, st_LoadbalanceCfg.st_LBDistributed.nCenterMode); - _stprintf(tszHdrBuffer, _T("Location: %s%s\r\n"), tszStorageAddr, pSt_HTTPParam->tszHttpUri); + _xstprintf(tszHdrBuffer, _X("Location: %s%s\r\n"), tszStorageAddr, pSt_HTTPParam->tszHttpUri); - RfcComponents_HttpServer_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, 0, tszHdrBuffer); + HttpProtocol_Server_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, 0, tszHdrBuffer); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,请求的函数被要求重定向到:%s%s"), lpszClientAddr, tszStorageAddr, pSt_HTTPParam->tszHttpUri); - return TRUE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,请求的函数被要求重定向到:%s%s"), lpszClientAddr, tszStorageAddr, pSt_HTTPParam->tszHttpUri); + return true; } - if (!RfcComponents_HttpHelp_GetUrlApi(pSt_HTTPParam->tszHttpUri, tszAPIVersion, tszAPIMethod, tszAPIName)) + if (!HttpProtocol_ServerHelp_GetUrlApi(pSt_HTTPParam->tszHttpUri, tszAPIVersion, tszAPIMethod, tszAPIName)) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 404; - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,请求的API不支持"), lpszClientAddr); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,请求的API不支持"), lpszClientAddr); + return false; } //通知类型.用于多服务器 - if (0 == _tcsnicmp(XENGINE_STORAGE_APP_TASK_PASS, tszAPIMethod, _tcslen(XENGINE_STORAGE_APP_TASK_PASS))) + if (0 == _tcsxnicmp(XENGINE_STORAGE_APP_TASK_PASS, tszAPIMethod, _tcsxlen(XENGINE_STORAGE_APP_TASK_PASS))) { XEngine_Task_Pass(tszAPIName, lpszClientAddr, lpszMsgBuffer, nMsgLen, pSt_HTTPParam, pptszListHdr, nHdrCount); } - else if (0 == _tcsnicmp(XENGINE_STORAGE_APP_TASK_MANAGE, tszAPIMethod, _tcslen(XENGINE_STORAGE_APP_TASK_MANAGE))) + else if (0 == _tcsxnicmp(XENGINE_STORAGE_APP_TASK_MANAGE, tszAPIMethod, _tcsxlen(XENGINE_STORAGE_APP_TASK_MANAGE))) { XEngine_Task_Manage(tszAPIName, lpszClientAddr, lpszMsgBuffer, nMsgLen, pSt_HTTPParam, pptszListHdr, nHdrCount); } } - else if (0 == _tcsnicmp(lpszMethodOption, pSt_HTTPParam->tszHttpMethod, _tcslen(lpszMethodOption))) + else if (0 == _tcsxnicmp(lpszMethodOption, pSt_HTTPParam->tszHttpMethod, _tcsxlen(lpszMethodOption))) { //用于心跳 - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 200; - LPCTSTR lpszHdrBuffer = _T("Allow: POST GET PUT OPTIONS\r\n"); - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, 0, lpszHdrBuffer); + LPCXSTR lpszHdrBuffer = _X("Allow: POST GET PUT OPTIONS\r\n"); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, 0, lpszHdrBuffer); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,请求OPTIONS心跳方法成功"), lpszClientAddr); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,请求OPTIONS心跳方法成功"), lpszClientAddr); } else { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 405; - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,发送的方法不支持"), lpszClientAddr); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,发送的方法不支持"), lpszClientAddr); + return false; } - return TRUE; + return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_StorageApp/StorageApp_Center.h b/XEngine_Source/XEngine_StorageApp/StorageApp_Center.h index 59ad8a1b3c7b587b2ca7f6392c877a2dc77fbc89..e1bd7fd97369545b04daede2429dc138b03cb906 100644 --- a/XEngine_Source/XEngine_StorageApp/StorageApp_Center.h +++ b/XEngine_Source/XEngine_StorageApp/StorageApp_Center.h @@ -1,11 +1,11 @@ #pragma once -#define XENGINE_STORAGE_APP_TASK_PASS _T("Pass") -#define XENGINE_STORAGE_APP_TASK_MANAGE _T("Manage") +#define XENGINE_STORAGE_APP_TASK_PASS _X("Pass") +#define XENGINE_STORAGE_APP_TASK_MANAGE _X("Manage") -#define XENGINE_STORAGE_APP_METHOD_CONFIG _T("Config") -#define XENGINE_STORAGE_APP_METHOD_UPFILE _T("UPFile") -#define XENGINE_STORAGE_APP_METHOD_DLFILE _T("DLFile") +#define XENGINE_STORAGE_APP_METHOD_CONFIG _X("Config") +#define XENGINE_STORAGE_APP_METHOD_UPFILE _X("UPFile") +#define XENGINE_STORAGE_APP_METHOD_DLFILE _X("DLFile") -XHTHREAD CALLBACK XEngine_Center_HTTPThread(LPVOID lParam); -BOOL XEngine_Task_HttpCenter_APIList(LPCTSTR lpszUrlName, TCHAR* ptszAPIVersion, TCHAR* ptszAPIMethod, TCHAR* ptszAPIName); -BOOL XEngine_Task_HttpCenter(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, TCHAR** pptszListHdr, int nHdrCount); \ No newline at end of file +XHTHREAD CALLBACK XEngine_Center_HTTPThread(XPVOID lParam); +bool XEngine_Task_HttpCenter_APIList(LPCXSTR lpszUrlName, XCHAR* ptszAPIVersion, XCHAR* ptszAPIMethod, XCHAR* ptszAPIName); +bool XEngine_Task_HttpCenter(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, XCHAR** pptszListHdr, int nHdrCount); \ No newline at end of file diff --git a/XEngine_Source/XEngine_StorageApp/StorageApp_Config.cpp b/XEngine_Source/XEngine_StorageApp/StorageApp_Config.cpp index 7c111f6351f4934de64408c081eff760341ddaeb..6418856384a0b4baea2ca7f4a6382b7a55333dcb 100644 --- a/XEngine_Source/XEngine_StorageApp/StorageApp_Config.cpp +++ b/XEngine_Source/XEngine_StorageApp/StorageApp_Config.cpp @@ -1,63 +1,63 @@ #include "StorageApp_Hdr.h" -BOOL StorageApp_Config_Parament(int argc,char **argv) +bool StorageApp_Config_Parament(int argc,char **argv) { - LPCTSTR lpszBaseCfg = _T("./XEngine_Config/XEngine_Config.json"); - LPCTSTR lpszLoadCfg = _T("./XEngine_Config/XEngine_LBConfig.json"); + LPCXSTR lpszBaseCfg = _X("./XEngine_Config/XEngine_Config.json"); + LPCXSTR lpszLoadCfg = _X("./XEngine_Config/XEngine_LBConfig.json"); if (!Config_Json_File(lpszBaseCfg, &st_ServiceCfg)) { printf("解析配置文件失败,Config_Json_File:%lX\n",Config_GetLastError()); - return FALSE; + return false; } if (!Config_Json_LoadBalance(lpszLoadCfg, &st_LoadbalanceCfg)) { printf("解析配置文件失败,Config_Json_LoadBalance:%lX\n", Config_GetLastError()); - return FALSE; + return false; } for (int i = 0;i < argc;i++) { - if ((0 == _tcscmp("-h",argv[i])) || (0 == _tcscmp("-H",argv[i]))) + if ((0 == _tcsxcmp("-h",argv[i])) || (0 == _tcsxcmp("-H",argv[i]))) { StorageApp_Config_ParamentHelp(); - return FALSE; + return false; } - if ((0 == _tcscmp("-v",argv[i])) || (0 == _tcscmp("-V",argv[i]))) + if ((0 == _tcsxcmp("-v",argv[i])) || (0 == _tcsxcmp("-V",argv[i]))) { string m_StrVersion = st_ServiceCfg.st_XVer.pStl_ListStorage->front(); printf("Version:%s\n", m_StrVersion.c_str()); - return FALSE; + return false; } - else if (0 == _tcscmp("-l",argv[i])) + else if (0 == _tcsxcmp("-l",argv[i])) { - st_ServiceCfg.st_XLog.nLogLeave = _ttoi(argv[i + 1]); + st_ServiceCfg.st_XLog.nLogLeave = _ttxoi(argv[i + 1]); } - else if (0 == _tcscmp("-d",argv[i])) + else if (0 == _tcsxcmp("-d",argv[i])) { - st_ServiceCfg.bDeamon = _ttoi(argv[i + 1]); + st_ServiceCfg.bDeamon = _ttxoi(argv[i + 1]); } - else if (0 == _tcscmp("-r", argv[i])) + else if (0 == _tcsxcmp("-r", argv[i])) { - st_ServiceCfg.st_Memory.bReload = TRUE; + st_ServiceCfg.st_Memory.bReload = true; } - else if (0 == _tcscmp("-u", argv[i])) + else if (0 == _tcsxcmp("-u", argv[i])) { - st_ServiceCfg.bReuseraddr = TRUE; + st_ServiceCfg.bReuseraddr = true; } } - return TRUE; + return true; } void StorageApp_Config_ParamentHelp() { - printf(_T("--------------------------启动参数帮助开始--------------------------\n")); - printf(_T("服务启动参数:程序 参数 参数值,参数是区分大小写的。如果不指定将会加载默认的./XEngine_Config/XEngine_Config.json配置文件里面的参数\n")); - printf(_T("-h or -H:启动参数帮助提示信息\n")); - printf(_T("-v or -V:输出版本号\n")); - printf(_T("-l:设置日志输出级别\n")); - printf(_T("-d:1 启用守护进程,2不启用\n")); - printf(_T("-r:无重启,重载配置文件\n")); - printf(_T("--------------------------启动参数帮助结束--------------------------\n")); + printf(_X("--------------------------启动参数帮助开始--------------------------\n")); + printf(_X("服务启动参数:程序 参数 参数值,参数是区分大小写的。如果不指定将会加载默认的./XEngine_Config/XEngine_Config.json配置文件里面的参数\n")); + printf(_X("-h or -H:启动参数帮助提示信息\n")); + printf(_X("-v or -V:输出版本号\n")); + printf(_X("-l:设置日志输出级别\n")); + printf(_X("-d:1 启用守护进程,2不启用\n")); + printf(_X("-r:无重启,重载配置文件\n")); + printf(_X("--------------------------启动参数帮助结束--------------------------\n")); } diff --git a/XEngine_Source/XEngine_StorageApp/StorageApp_Config.h b/XEngine_Source/XEngine_StorageApp/StorageApp_Config.h index 30b18725d0281a935941ef5d57b1259c69e9939b..a61af3d40f51eebb62a8a6c2071ccc7c60c0df87 100644 --- a/XEngine_Source/XEngine_StorageApp/StorageApp_Config.h +++ b/XEngine_Source/XEngine_StorageApp/StorageApp_Config.h @@ -1,4 +1,4 @@ #pragma once -BOOL StorageApp_Config_Parament(int argc,char **argv); +bool StorageApp_Config_Parament(int argc,char **argv); void StorageApp_Config_ParamentHelp(); diff --git a/XEngine_Source/XEngine_StorageApp/StorageApp_Download.cpp b/XEngine_Source/XEngine_StorageApp/StorageApp_Download.cpp index d4b903c180e809401895f4ff0554975339e04eee..f0d1572a9741607d90d1dcabaac3e6b83c81107e 100644 --- a/XEngine_Source/XEngine_StorageApp/StorageApp_Download.cpp +++ b/XEngine_Source/XEngine_StorageApp/StorageApp_Download.cpp @@ -1,6 +1,6 @@ #include "StorageApp_Hdr.h" -XHTHREAD CALLBACK XEngine_Download_HTTPThread(LPVOID lParam) +XHTHREAD CALLBACK XEngine_Download_HTTPThread(XPVOID lParam) { int nThreadPos = *(int*)lParam; nThreadPos++; @@ -8,25 +8,25 @@ XHTHREAD CALLBACK XEngine_Download_HTTPThread(LPVOID lParam) while (bIsRun) { //等待指定线程事件触发 - if (RfcComponents_HttpServer_EventWaitEx(xhDLHttp, nThreadPos)) + if (HttpProtocol_Server_EventWaitEx(xhDLHttp, nThreadPos)) { int nListCount = 0; RFCCOMPONENTS_HTTP_PKTCLIENT** ppSt_PKTClient; //获取当前队列池中所有触发下载客户端 - RfcComponents_HttpServer_GetPoolEx(xhDLHttp, nThreadPos, &ppSt_PKTClient, &nListCount); + HttpProtocol_Server_GetPoolEx(xhDLHttp, nThreadPos, &ppSt_PKTClient, &nListCount); for (int i = 0; i < nListCount; i++) { for (int j = 0; j < ppSt_PKTClient[i]->nPktCount; j++) { int nMsgLen = 0; int nHdrCount = 0; - CHAR* ptszMsgBuffer = NULL; - CHAR** ppszListHdr = NULL; + XCHAR* ptszMsgBuffer = NULL; + XCHAR** ppszListHdr = NULL; RFCCOMPONENTS_HTTP_REQPARAM st_HTTPParam; memset(&st_HTTPParam, '\0', sizeof(RFCCOMPONENTS_HTTP_REQPARAM)); //获得指定下载客户端触发信息 - if (RfcComponents_HttpServer_GetMemoryEx(xhDLHttp, ppSt_PKTClient[i]->tszClientAddr, &ptszMsgBuffer, &nMsgLen, &st_HTTPParam, &ppszListHdr, &nHdrCount)) + if (HttpProtocol_Server_GetMemoryEx(xhDLHttp, ppSt_PKTClient[i]->tszClientAddr, &ptszMsgBuffer, &nMsgLen, &st_HTTPParam, &ppszListHdr, &nHdrCount)) { XEngine_Task_HttpDownload(ppSt_PKTClient[i]->tszClientAddr, ptszMsgBuffer, nMsgLen, &st_HTTPParam, ppszListHdr, nHdrCount); } @@ -40,12 +40,12 @@ XHTHREAD CALLBACK XEngine_Download_HTTPThread(LPVOID lParam) return 0; } -void CALLBACK XEngine_Download_CBSend(LPCSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam) +void CALLBACK XEngine_Download_CBSend(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam) { int nMsgLen = 4096; int nListCount = 0; __int64u nTimeWait = 0; - TCHAR tszMsgBuffer[4096]; + XCHAR tszMsgBuffer[4096]; SESSION_STORAGEINFO st_StorageInfo; memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer)); @@ -67,30 +67,30 @@ void CALLBACK XEngine_Download_CBSend(LPCSTR lpszClientAddr, SOCKET hSocket, LPV { if (nMsgLen <= 0) { - if (st_ServiceCfg.st_XProxy.st_XProxyPass.bDLPass) + if (st_ServiceCfg.st_XProxy.bDLPass) { int nPLen = MAX_PATH; int nHttpCode = 0; - TCHAR tszProxyStr[MAX_PATH]; + XCHAR tszProxyStr[MAX_PATH]; SESSION_STORAGEINFO st_StorageInfo; memset(tszProxyStr, '\0', MAX_PATH); memset(&st_StorageInfo, '\0', sizeof(SESSION_STORAGEINFO)); Session_DLStroage_GetInfo(lpszClientAddr, &st_StorageInfo); - Protocol_StoragePacket_UPDown(tszProxyStr, &nPLen, st_StorageInfo.tszFileDir, st_StorageInfo.tszBuckKey, st_StorageInfo.tszClientAddr, st_StorageInfo.ullRWCount, TRUE, st_StorageInfo.tszFileHash); - if (APIClient_Http_Request(_T("POST"), st_ServiceCfg.st_XProxy.st_XProxyPass.tszDLPass, tszProxyStr, &nHttpCode)) + Protocol_StoragePacket_UPDown(tszProxyStr, &nPLen, st_StorageInfo.tszFileDir, st_StorageInfo.tszBuckKey, st_StorageInfo.tszClientAddr, st_StorageInfo.ullRWCount, true, st_StorageInfo.tszFileHash); + if (APIClient_Http_Request(_X("POST"), st_ServiceCfg.st_XProxy.tszDLPass, tszProxyStr, &nHttpCode)) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("下载客户端:%s,请求完成通知返回值:%d,文件:%s,地址:%s"), lpszClientAddr, nHttpCode, st_StorageInfo.tszFileDir, st_ServiceCfg.st_XProxy.st_XProxyPass.tszDLPass); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("下载客户端:%s,请求完成通知返回值:%d,文件:%s,地址:%s"), lpszClientAddr, nHttpCode, st_StorageInfo.tszFileDir, st_ServiceCfg.st_XProxy.tszDLPass); } else { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("下载客户端:%s,请求完成通知失败,可能对方服务没有开启,文件:%s,地址:%s"), lpszClientAddr, st_StorageInfo.tszFileDir, st_ServiceCfg.st_XProxy.st_XProxyPass.tszDLPass); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("下载客户端:%s,请求完成通知失败,可能对方服务没有开启,文件:%s,地址:%s"), lpszClientAddr, st_StorageInfo.tszFileDir, st_ServiceCfg.st_XProxy.tszDLPass); } } NetCore_TCPXCore_CBSendEx(xhNetDownload, lpszClientAddr); Session_DLStroage_Delete(lpszClientAddr); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("下载客户端:%s,文件已经发送完毕,用户已经被移除发送列表"), lpszClientAddr); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("下载客户端:%s,文件已经发送完毕,用户已经被移除发送列表"), lpszClientAddr); } else { @@ -103,7 +103,7 @@ void CALLBACK XEngine_Download_CBSend(LPCSTR lpszClientAddr, SOCKET hSocket, LPV } else { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("下载客户端:%s,获取用户对应文件内容失败,错误:%lX"), lpszClientAddr, Session_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("下载客户端:%s,获取用户对应文件内容失败,错误:%lX"), lpszClientAddr, Session_GetLastError()); } //限速,如果没有单独限速,默认全局限速 if (st_ServiceCfg.st_XLimit.bLimitMode && (0 == st_StorageInfo.nLimit)) @@ -115,127 +115,127 @@ void CALLBACK XEngine_Download_CBSend(LPCSTR lpszClientAddr, SOCKET hSocket, LPV } } -BOOL XEngine_Task_HttpDownload(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, TCHAR** pptszListHdr, int nHdrCount) +bool XEngine_Task_HttpDownload(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, XCHAR** pptszListHdr, int nHdrCount) { int nSDLen = 2048; int nLimit = 0; XHANDLE xhLimit = NULL; __int64x ullCount = 0; //总大小 __int64x ullSize = 0; //需要下载大小 - TCHAR tszSDBuffer[2048]; - TCHAR tszFileDir[1024]; + XCHAR tszSDBuffer[2048]; + XCHAR tszFileDir[1024]; RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam; memset(tszSDBuffer, '\0', sizeof(tszSDBuffer)); memset(tszFileDir, '\0', sizeof(tszFileDir)); memset(&st_HDRParam, '\0', sizeof(RFCCOMPONENTS_HTTP_HDRPARAM)); - LPCTSTR lpszMethodGet = _T("GET"); - if (0 != _tcsncmp(lpszMethodGet, pSt_HTTPParam->tszHttpMethod, _tcslen(lpszMethodGet))) + LPCXSTR lpszMethodGet = _X("GET"); + if (0 != _tcsxncmp(lpszMethodGet, pSt_HTTPParam->tszHttpMethod, _tcsxlen(lpszMethodGet))) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 405; - RfcComponents_HttpServer_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPDOWNLOAD); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("下载客户端:%s,发送的方法不支持"), lpszClientAddr); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("下载客户端:%s,发送的方法不支持"), lpszClientAddr); + return false; } //连接数限制处理 if (st_ServiceCfg.st_XLimit.nMaxDNConnect > 0) { if (!Session_DLStroage_MaxConnect(lpszClientAddr)) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 503; - RfcComponents_HttpServer_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPDOWNLOAD); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("下载客户端:%s,请求失败,连接数超过限制:%d,无法继续"), lpszClientAddr, st_ServiceCfg.st_XLimit.nMaxDNConnect); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("下载客户端:%s,请求失败,连接数超过限制:%d,无法继续"), lpszClientAddr, st_ServiceCfg.st_XLimit.nMaxDNConnect); + return false; } } //验证用户 - if (st_ServiceCfg.st_XProxy.st_XProxyAuth.bAuth) + if (st_ServiceCfg.st_XAuth.bDLAuth) { - TCHAR tszUserName[64]; - TCHAR tszUserPass[64]; + XCHAR tszUserName[64]; + XCHAR tszUserPass[64]; memset(tszUserName, '\0', sizeof(tszUserName)); memset(tszUserPass, '\0', sizeof(tszUserPass)); if (!APIHelp_Api_ProxyAuth(tszUserName, tszUserPass, pptszListHdr, nHdrCount)) { - st_HDRParam.bIsClose = TRUE; - st_HDRParam.bAuth = TRUE; + st_HDRParam.bIsClose = true; + st_HDRParam.bAuth = true; st_HDRParam.nHttpCode = 401; - RfcComponents_HttpServer_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPDOWNLOAD); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("下载客户端:%s,用户验证失败,错误:%lX"), lpszClientAddr, StorageHelp_GetLastError()); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("下载客户端:%s,用户验证失败,错误:%lX"), lpszClientAddr, StorageHelp_GetLastError()); + return false; } - if (_tcslen(st_ServiceCfg.st_XProxy.st_XProxyAuth.tszAuthProxy) > 0) + if (st_ServiceCfg.st_XProxy.bAuthPass) { int nBLen = 0; int nCode = 0; int nResponseCode = 0; - TCHAR* ptszBody = NULL; + XCHAR* ptszBody = NULL; Protocol_StoragePacket_BasicAuth(pSt_HTTPParam->tszHttpMethod, pSt_HTTPParam->tszHttpUri, lpszClientAddr, tszUserName, tszUserPass, tszSDBuffer, &nSDLen); - APIClient_Http_Request(_T("POST"), st_ServiceCfg.st_XProxy.st_XProxyAuth.tszAuthProxy, tszSDBuffer, &nResponseCode, &ptszBody, &nBLen); + APIClient_Http_Request(_X("POST"), st_ServiceCfg.st_XProxy.tszAuthPass, tszSDBuffer, &nResponseCode, &ptszBody, &nBLen); if (200 != nResponseCode) { - st_HDRParam.bIsClose = TRUE; - st_HDRParam.bAuth = TRUE; + st_HDRParam.bIsClose = true; + st_HDRParam.bAuth = true; st_HDRParam.nHttpCode = nResponseCode; - RfcComponents_HttpServer_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPDOWNLOAD); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("下载客户端:%s,用户验证失败,用户名:%s,密码:%s,错误码:%d,错误内容:%s"), tszUserName, tszUserPass, tszUserPass, nResponseCode, ptszBody); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("下载客户端:%s,用户验证失败,用户名:%s,密码:%s,错误码:%d,错误内容:%s"), tszUserName, tszUserPass, tszUserPass, nResponseCode, ptszBody); } Protocol_StorageParse_SpeedLimit(ptszBody, nSDLen, &nCode, &nLimit); BaseLib_OperatorMemory_FreeCStyle((VOID**)&ptszBody); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("下载客户端:%s,代理服务:%s 验证通过,用户名:%s,密码:%s,值:%d"), lpszClientAddr, st_ServiceCfg.st_XProxy.st_XProxyAuth.tszAuthProxy, tszUserName, tszUserPass, nCode); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("下载客户端:%s,代理服务:%s 验证通过,用户名:%s,密码:%s,值:%d"), lpszClientAddr, st_ServiceCfg.st_XProxy.tszAuthPass, tszUserName, tszUserPass, nCode); } else { if (!Session_User_Exist(tszUserName, tszUserPass, &nLimit)) { - st_HDRParam.bIsClose = TRUE; - st_HDRParam.bAuth = TRUE; + st_HDRParam.bIsClose = true; + st_HDRParam.bAuth = true; st_HDRParam.nHttpCode = 401; - RfcComponents_HttpServer_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPDOWNLOAD); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("下载客户端:%s,验证用户失败,无法继续"), lpszClientAddr); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("下载客户端:%s,验证用户失败,无法继续"), lpszClientAddr); + return false; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("下载客户端:%s,本地验证用户验证通过,用户名:%s,密码:%s"), lpszClientAddr, tszUserName, tszUserPass); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("下载客户端:%s,本地验证用户验证通过,用户名:%s,密码:%s"), lpszClientAddr, tszUserName, tszUserPass); } - st_HDRParam.bAuth = TRUE; + st_HDRParam.bAuth = true; } //使用重定向,这是分布式重定向实现 if (st_LoadbalanceCfg.st_LBDistributed.nDownldMode > 0) { - TCHAR tszHdrBuffer[1024]; - TCHAR tszStorageAddr[128]; + XCHAR tszHdrBuffer[1024]; + XCHAR tszStorageAddr[128]; memset(tszHdrBuffer, '\0', sizeof(tszHdrBuffer)); memset(tszStorageAddr, '\0', sizeof(tszStorageAddr)); - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 302; APIHelp_Distributed_RandomAddr(st_LoadbalanceCfg.st_LoadBalance.pStl_ListDownload, tszStorageAddr, st_LoadbalanceCfg.st_LBDistributed.nDownldMode); - _stprintf(tszHdrBuffer, _T("Location: %s%s\r\n"), tszStorageAddr, pSt_HTTPParam->tszHttpUri); + _xstprintf(tszHdrBuffer, _X("Location: %s%s\r\n"), tszStorageAddr, pSt_HTTPParam->tszHttpUri); - RfcComponents_HttpServer_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, 0, tszHdrBuffer); + HttpProtocol_Server_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, 0, tszHdrBuffer); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPDOWNLOAD); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("下载客户端:%s,请求的文件被要求重定向到:%s%s"), lpszClientAddr, tszStorageAddr, pSt_HTTPParam->tszHttpUri); - return TRUE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("下载客户端:%s,请求的文件被要求重定向到:%s%s"), lpszClientAddr, tszStorageAddr, pSt_HTTPParam->tszHttpUri); + return true; } - BOOL bRange = FALSE; + bool bRange = false; int nPosStart = 0; int nPosEnd = 0; __int64x nPosCount = 0; @@ -244,43 +244,43 @@ BOOL XEngine_Task_HttpDownload(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, in //是否启用了断点续传 if (st_ServiceCfg.st_XStorage.bResumable) { - bRange = TRUE; + bRange = true; } else { - bRange = FALSE; + bRange = false; nPosStart = 0; nPosEnd = 0; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("下载客户端:%s,客户端的请求设置了数据范围:%d - %d/%lld"), lpszClientAddr, nPosStart, nPosEnd, nPosCount); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("下载客户端:%s,客户端的请求设置了数据范围:%d - %d/%lld"), lpszClientAddr, nPosStart, nPosEnd, nPosCount); } XENGINE_STORAGEBUCKET st_StorageBucket; memset(&st_StorageBucket, '\0', sizeof(XENGINE_STORAGEBUCKET)); //分布式存储 if (!APIHelp_Distributed_DLStorage(pSt_HTTPParam->tszHttpUri, st_LoadbalanceCfg.st_LoadBalance.pStl_ListBucket, &st_StorageBucket)) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 404; - RfcComponents_HttpServer_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPDOWNLOAD); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("下载客户端:%s,请求文件失败,可能BUCKET:%s 不正确,错误:%lX"), lpszClientAddr, pSt_HTTPParam->tszHttpUri, StorageHelp_GetLastError()); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("下载客户端:%s,请求文件失败,可能BUCKET:%s 不正确,错误:%lX"), lpszClientAddr, pSt_HTTPParam->tszHttpUri, StorageHelp_GetLastError()); + return false; } int nPathType = 0; - _stprintf(tszFileDir, _T("%s%s"), st_StorageBucket.tszFilePath, st_StorageBucket.tszFileName); + _xstprintf(tszFileDir, _X("%s%s"), st_StorageBucket.tszFilePath, st_StorageBucket.tszFileName); BaseLib_OperatorString_GetPath(tszFileDir, &nPathType); BaseLib_OperatorString_FixPath(tszFileDir, nPathType); int nHashLen = 0; - UCHAR tszHashKey[MAX_PATH]; - TCHAR tszFieldStr[MAX_PATH]; - TCHAR tszHashStr[128]; + XBYTE tszHashKey[MAX_PATH]; + XCHAR tszFieldStr[MAX_PATH]; + XCHAR tszHashStr[128]; memset(tszHashKey, '\0', MAX_PATH); memset(tszFieldStr, '\0', MAX_PATH); memset(tszHashStr, '\0', sizeof(tszHashStr)); //得到文件HASH - OPenSsl_Api_Digest(tszFileDir, tszHashKey, &nHashLen, TRUE, st_ServiceCfg.st_XStorage.nHashMode); + OPenSsl_Api_Digest(tszFileDir, tszHashKey, &nHashLen, true, st_ServiceCfg.st_XStorage.nHashMode); BaseLib_OperatorString_StrToHex((char*)tszHashKey, nHashLen, tszHashStr); BaseLib_OperatorString_GetFileAndPath(tszFileDir, NULL, NULL, NULL, st_HDRParam.tszMimeType); if (nLimit > 0) @@ -290,13 +290,13 @@ BOOL XEngine_Task_HttpDownload(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, in //插入数据 if (!Session_DLStroage_Insert(lpszClientAddr, st_StorageBucket.tszBuckKey, tszFileDir, &ullCount, &ullSize, nPosStart, nPosEnd, tszHashStr, nLimit, xhLimit)) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 404; - RfcComponents_HttpServer_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPDOWNLOAD); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("下载客户端:%s,插入用户请求失败,文件:%s,错误:%lX"), lpszClientAddr, tszFileDir, Session_GetLastError()); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("下载客户端:%s,插入用户请求失败,文件:%s,错误:%lX"), lpszClientAddr, tszFileDir, Session_GetLastError()); + return false; } //是否续传 if (bRange) @@ -305,7 +305,7 @@ BOOL XEngine_Task_HttpDownload(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, in st_HDRParam.st_Range.nPosEnd = nPosEnd; st_HDRParam.st_Range.nPosCount = ullCount; st_HDRParam.nHttpCode = 206; - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; if (0 == st_HDRParam.st_Range.nPosEnd) { @@ -315,40 +315,40 @@ BOOL XEngine_Task_HttpDownload(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, in else { st_HDRParam.nHttpCode = 200; - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; } - _stprintf(tszFieldStr, _T("FileHash: %s\r\n"), tszHashStr); - RfcComponents_HttpServer_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, ullSize, tszFieldStr); + _xstprintf(tszFieldStr, _X("FileHash: %s\r\n"), tszHashStr); + HttpProtocol_Server_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, ullSize, tszFieldStr); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPDOWNLOAD); //不能在send之前调用 if (!NetCore_TCPXCore_CBSendEx(xhNetDownload, lpszClientAddr, XEngine_Download_CBSend)) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 404; - RfcComponents_HttpServer_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPDOWNLOAD); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("下载客户端:%s,设置回调下载失败,文件:%s,错误:%lX"), lpszClientAddr, tszFileDir, Session_GetLastError()); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("下载客户端:%s,设置回调下载失败,文件:%s,错误:%lX"), lpszClientAddr, tszFileDir, Session_GetLastError()); + return false; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("下载客户端:%s,请求下载文件成功,文件名:%s,总大小:%llu,发送大小:%llu,范围:%d - %d"), lpszClientAddr, tszFileDir, ullCount, ullSize, nPosStart, nPosEnd); - return TRUE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("下载客户端:%s,请求下载文件成功,文件名:%s,总大小:%llu,发送大小:%llu,范围:%d - %d"), lpszClientAddr, tszFileDir, ullCount, ullSize, nPosStart, nPosEnd); + return true; } -BOOL XEngine_Task_SendDownload(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen) +bool XEngine_Task_SendDownload(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen) { if (!XEngine_Net_SendMsg(lpszClientAddr, lpszMsgBuffer, nMsgLen, STORAGE_NETTYPE_HTTPDOWNLOAD)) { if (Session_DLStorage_SetSeek(lpszClientAddr, -nMsgLen)) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _T("下载客户端:%s,正在发送文件数据,发送失败,移动指针:%d"), lpszClientAddr, -nMsgLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("下载客户端:%s,正在发送文件数据,发送失败,移动指针:%d"), lpszClientAddr, -nMsgLen); } else { XEngine_Net_CloseClient(lpszClientAddr, STORAGE_LEAVETYPE_CLOSE, STORAGE_NETTYPE_HTTPDOWNLOAD); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("下载客户端:%s,正在发送文件数据,大小:%d,发送超过重试次数,无法继续,移除发送队列"), lpszClientAddr, nMsgLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("下载客户端:%s,正在发送文件数据,大小:%d,发送超过重试次数,无法继续,移除发送队列"), lpszClientAddr, nMsgLen); } - return FALSE; + return false; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _T("下载客户端:%s,正在发送文件数据,大小:%d"), lpszClientAddr, nMsgLen); - return TRUE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _X("下载客户端:%s,正在发送文件数据,大小:%d"), lpszClientAddr, nMsgLen); + return true; } diff --git a/XEngine_Source/XEngine_StorageApp/StorageApp_Download.h b/XEngine_Source/XEngine_StorageApp/StorageApp_Download.h index 0cc27a115168e8148bb739a01fdfa5f3a36b228a..5f989e7743e18c83d9ce5c30ee040909bd1d679f 100644 --- a/XEngine_Source/XEngine_StorageApp/StorageApp_Download.h +++ b/XEngine_Source/XEngine_StorageApp/StorageApp_Download.h @@ -1,7 +1,7 @@ #pragma once -XHTHREAD CALLBACK XEngine_Download_HTTPThread(LPVOID lParam); -void CALLBACK XEngine_Download_CBSend(LPCSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam); +XHTHREAD CALLBACK XEngine_Download_HTTPThread(XPVOID lParam); +void CALLBACK XEngine_Download_CBSend(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam); -BOOL XEngine_Task_HttpDownload(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, TCHAR** pptszListHdr, int nHdrCount); -BOOL XEngine_Task_SendDownload(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen); \ No newline at end of file +bool XEngine_Task_HttpDownload(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, XCHAR** pptszListHdr, int nHdrCount); +bool XEngine_Task_SendDownload(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen); \ No newline at end of file diff --git a/XEngine_Source/XEngine_StorageApp/StorageApp_Hdr.h b/XEngine_Source/XEngine_StorageApp/StorageApp_Hdr.h index b0a5175e5d38cfed7d14ffffb86ed8fa4edb09cc..ec5307a40150660b756ec25f4a4930a22d81cdc3 100644 --- a/XEngine_Source/XEngine_StorageApp/StorageApp_Hdr.h +++ b/XEngine_Source/XEngine_StorageApp/StorageApp_Hdr.h @@ -6,11 +6,12 @@ #include #include #include +#include #include #include #include #include -#ifdef _WINDOWS +#ifdef _MSC_BUILD #include #include #include @@ -38,8 +39,8 @@ using namespace std; #include #include #include -#include -#include +#include +#include #include #include #include @@ -66,8 +67,8 @@ using namespace std; #define STORAGE_NETTYPE_HTTPDOWNLOAD 2 #define STORAGE_NETTYPE_HTTPCENTER 3 -extern BOOL bIsRun; -extern XLOG xhLog; +extern bool bIsRun; +extern XHANDLE xhLog; extern XHANDLE xhHBDownload; extern XHANDLE xhHBUPLoader; @@ -89,7 +90,7 @@ extern XHANDLE xhUPHttp; extern XHANDLE xhDLHttp; extern XHANDLE xhCenterHttp; -extern SOCKET hBroadSocket; +extern XSOCKET hBroadSocket; extern shared_ptr pSTDThread; extern XENGINE_SERVERCONFIG st_ServiceCfg; @@ -113,7 +114,7 @@ extern XENGINE_LBCONFIG st_LoadbalanceCfg; #pragma comment(lib,"XEngine_Core/XEngine_OPenSsl.lib") #pragma comment(lib,"XEngine_HelpComponents/HelpComponents_XLog.lib") #pragma comment(lib,"XEngine_HelpComponents/HelpComponents_Packets.lib") -#pragma comment(lib,"XEngine_RfcComponents/RfcComponents_HttpServer.lib") +#pragma comment(lib,"XEngine_RfcComponents/RfcComponents_HttpProtocol.lib") #pragma comment(lib,"XEngine_NetHelp/NetHelp_APIClient.lib") #pragma comment(lib,"XEngine_SystemSdk/XEngine_SystemApi.lib") #ifdef _WIN64 diff --git a/XEngine_Source/XEngine_StorageApp/StorageApp_Network.cpp b/XEngine_Source/XEngine_StorageApp/StorageApp_Network.cpp index 71959a3e9871ff7538f41912a9d632c45dc80773..2079cd5313b4d871c308bba8ceded4191de1c3a1 100644 --- a/XEngine_Source/XEngine_StorageApp/StorageApp_Network.cpp +++ b/XEngine_Source/XEngine_StorageApp/StorageApp_Network.cpp @@ -1,77 +1,77 @@ #include "StorageApp_Hdr.h" -BOOL CALLBACK XEngine_Callback_DownloadLogin(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam) +bool CALLBACK XEngine_Callback_DownloadLogin(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam) { if (st_ServiceCfg.st_XCert.bDLEnable) { OPenSsl_Server_AcceptEx(xhDLSsl, hSocket, lpszClientAddr); } - RfcComponents_HttpServer_CreateClientEx(xhDLHttp, lpszClientAddr, 0); + HttpProtocol_Server_CreateClientEx(xhDLHttp, lpszClientAddr, 0); SocketOpt_HeartBeat_InsertAddrEx(xhHBDownload, lpszClientAddr); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("下载客户端:%s,进入了服务器"), lpszClientAddr); - return TRUE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("下载客户端:%s,进入了服务器"), lpszClientAddr); + return true; } -void CALLBACK XEngine_Callback_DownloadRecv(LPCTSTR lpszClientAddr, SOCKET hSocket, LPCTSTR lpszRecvMsg, int nMsgLen, LPVOID lParam) +void CALLBACK XEngine_Callback_DownloadRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszRecvMsg, int nMsgLen, XPVOID lParam) { if (st_ServiceCfg.st_XCert.bDLEnable) { int nSLen = 0; - TCHAR* ptszMsgBuffer = NULL; + XCHAR* ptszMsgBuffer = NULL; OPenSsl_Server_RecvMemoryEx(xhDLSsl, lpszClientAddr, &ptszMsgBuffer, &nSLen, lpszRecvMsg, nMsgLen); - if (!RfcComponents_HttpServer_InserQueueEx(xhDLHttp, lpszClientAddr, ptszMsgBuffer, nSLen)) + if (!HttpProtocol_Server_InserQueueEx(xhDLHttp, lpszClientAddr, ptszMsgBuffer, nSLen)) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("下载客户端:%s,投递数据失败,大小:%d,错误;%lX"), lpszClientAddr, nMsgLen, HttpServer_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("下载客户端:%s,投递数据失败,大小:%d,错误;%lX"), lpszClientAddr, nMsgLen, HttpProtocol_GetLastError()); return; } BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); } else { - if (!RfcComponents_HttpServer_InserQueueEx(xhDLHttp, lpszClientAddr, lpszRecvMsg, nMsgLen)) + if (!HttpProtocol_Server_InserQueueEx(xhDLHttp, lpszClientAddr, lpszRecvMsg, nMsgLen)) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("下载客户端:%s,投递数据失败,大小:%d,错误;%lX"), lpszClientAddr, nMsgLen, HttpServer_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("下载客户端:%s,投递数据失败,大小:%d,错误;%lX"), lpszClientAddr, nMsgLen, HttpProtocol_GetLastError()); return; } } SocketOpt_HeartBeat_ActiveAddrEx(xhHBDownload, lpszClientAddr); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _T("下载客户端:%s,投递包成功,大小:%d"), lpszClientAddr, nMsgLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _X("下载客户端:%s,投递包成功,大小:%d"), lpszClientAddr, nMsgLen); } -void CALLBACK XEngine_Callback_DownloadLeave(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam) +void CALLBACK XEngine_Callback_DownloadLeave(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam) { XEngine_Net_CloseClient(lpszClientAddr, STORAGE_LEAVETYPE_BYSELF, STORAGE_NETTYPE_HTTPDOWNLOAD); } ////////////////////////////////////////////////////////////////////////// -BOOL CALLBACK XEngine_Callback_UPLoaderLogin(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam) +bool CALLBACK XEngine_Callback_UPLoaderLogin(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam) { if (st_ServiceCfg.st_XCert.bUPEnable) { OPenSsl_Server_AcceptEx(xhUPSsl, hSocket, lpszClientAddr); } - RfcComponents_HttpServer_CreateClientEx(xhUPHttp, lpszClientAddr, 0); - RfcComponents_HttpServer_SetRecvModeEx(xhUPHttp, lpszClientAddr, 1); //设置为文件接受模式 + HttpProtocol_Server_CreateClientEx(xhUPHttp, lpszClientAddr, 0); + HttpProtocol_Server_SetRecvModeEx(xhUPHttp, lpszClientAddr, 1); //设置为文件接受模式 SocketOpt_HeartBeat_InsertAddrEx(xhHBUPLoader, lpszClientAddr); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("上传客户端:%s,进入了服务器"), lpszClientAddr); - return TRUE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("上传客户端:%s,进入了服务器"), lpszClientAddr); + return true; } -void CALLBACK XEngine_Callback_UPLoaderRecv(LPCTSTR lpszClientAddr, SOCKET hSocket, LPCTSTR lpszRecvMsg, int nMsgLen, LPVOID lParam) +void CALLBACK XEngine_Callback_UPLoaderRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszRecvMsg, int nMsgLen, XPVOID lParam) { if (st_ServiceCfg.st_XCert.bUPEnable) { int nSLen = 0; - TCHAR* ptszMsgBuffer = NULL; + XCHAR* ptszMsgBuffer = NULL; OPenSsl_Server_RecvMemoryEx(xhUPSsl, lpszClientAddr, &ptszMsgBuffer, &nSLen, lpszRecvMsg, nMsgLen); - if (!RfcComponents_HttpServer_InserQueueEx(xhUPHttp, lpszClientAddr, ptszMsgBuffer, nSLen)) + if (!HttpProtocol_Server_InserQueueEx(xhUPHttp, lpszClientAddr, ptszMsgBuffer, nSLen)) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("上传客户端:%s,投递数据失败,大小:%d,错误;%lX"), lpszClientAddr, nMsgLen, HttpServer_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,投递数据失败,大小:%d,错误;%lX"), lpszClientAddr, nMsgLen, HttpProtocol_GetLastError()); return; } BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); } else { - if (!RfcComponents_HttpServer_InserQueueEx(xhUPHttp, lpszClientAddr, lpszRecvMsg, nMsgLen)) + if (!HttpProtocol_Server_InserQueueEx(xhUPHttp, lpszClientAddr, lpszRecvMsg, nMsgLen)) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("上传客户端:%s,投递数据失败,大小:%d,错误;%lX"), lpszClientAddr, nMsgLen, HttpServer_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,投递数据失败,大小:%d,错误;%lX"), lpszClientAddr, nMsgLen, HttpProtocol_GetLastError()); return; } } @@ -82,111 +82,111 @@ void CALLBACK XEngine_Callback_UPLoaderRecv(LPCTSTR lpszClientAddr, SOCKET hSock Session_UPStorage_GetAll(NULL, &nCount); Algorithm_Calculation_SleepFlow(xhLimit, &nTimeWait, st_ServiceCfg.st_XLimit.nMaxUPLoader, nCount, nMsgLen); std::this_thread::sleep_for(std::chrono::microseconds(nTimeWait)); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _T("上传客户端:%s,投递包成功,大小:%d"), lpszClientAddr, nMsgLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _X("上传客户端:%s,投递包成功,大小:%d"), lpszClientAddr, nMsgLen); } -void CALLBACK XEngine_Callback_UPLoaderLeave(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam) +void CALLBACK XEngine_Callback_UPLoaderLeave(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam) { XEngine_Net_CloseClient(lpszClientAddr, STORAGE_LEAVETYPE_BYSELF, STORAGE_NETTYPE_HTTPUPLOADER); } ////////////////////////////////////////////////////////////////////////// -BOOL CALLBACK XEngine_Callback_CenterLogin(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam) +bool CALLBACK XEngine_Callback_CenterLogin(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam) { if (st_ServiceCfg.st_XCert.bCHEnable) { OPenSsl_Server_AcceptEx(xhCHSsl, hSocket, lpszClientAddr); } - RfcComponents_HttpServer_CreateClientEx(xhCenterHttp, lpszClientAddr, 0); + HttpProtocol_Server_CreateClientEx(xhCenterHttp, lpszClientAddr, 0); SocketOpt_HeartBeat_InsertAddrEx(xhHBCenter, lpszClientAddr); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,进入了服务器"), lpszClientAddr); - return TRUE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,进入了服务器"), lpszClientAddr); + return true; } -void CALLBACK XEngine_Callback_CenterRecv(LPCTSTR lpszClientAddr, SOCKET hSocket, LPCTSTR lpszRecvMsg, int nMsgLen, LPVOID lParam) +void CALLBACK XEngine_Callback_CenterRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszRecvMsg, int nMsgLen, XPVOID lParam) { if (st_ServiceCfg.st_XCert.bCHEnable) { int nSLen = 0; - TCHAR* ptszMsgBuffer = NULL; + XCHAR* ptszMsgBuffer = NULL; OPenSsl_Server_RecvMemoryEx(xhCHSsl, lpszClientAddr, &ptszMsgBuffer, &nSLen, lpszRecvMsg, nMsgLen); - if (!RfcComponents_HttpServer_InserQueueEx(xhCenterHttp, lpszClientAddr, ptszMsgBuffer, nSLen)) + if (!HttpProtocol_Server_InserQueueEx(xhCenterHttp, lpszClientAddr, ptszMsgBuffer, nSLen)) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,投递数据失败,大小:%d,错误;%lX"), lpszClientAddr, nMsgLen, HttpServer_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,投递数据失败,大小:%d,错误;%lX"), lpszClientAddr, nMsgLen, HttpProtocol_GetLastError()); return; } BaseLib_OperatorMemory_FreeCStyle((XPPMEM)&ptszMsgBuffer); } else { - if (!RfcComponents_HttpServer_InserQueueEx(xhCenterHttp, lpszClientAddr, lpszRecvMsg, nMsgLen)) + if (!HttpProtocol_Server_InserQueueEx(xhCenterHttp, lpszClientAddr, lpszRecvMsg, nMsgLen)) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,投递数据失败,大小:%d,错误;%lX"), lpszClientAddr, nMsgLen, HttpServer_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,投递数据失败,大小:%d,错误;%lX"), lpszClientAddr, nMsgLen, HttpProtocol_GetLastError()); return; } } SocketOpt_HeartBeat_ActiveAddrEx(xhHBCenter, lpszClientAddr); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _T("业务客户端:%s,投递包成功,大小:%d"), lpszClientAddr, nMsgLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _X("业务客户端:%s,投递包成功,大小:%d"), lpszClientAddr, nMsgLen); } -void CALLBACK XEngine_Callback_CenterLeave(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam) +void CALLBACK XEngine_Callback_CenterLeave(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam) { XEngine_Net_CloseClient(lpszClientAddr, STORAGE_LEAVETYPE_BYSELF, STORAGE_NETTYPE_HTTPCENTER); } ////////////////////////////////////////////////////////////////////////// -void CALLBACK XEngine_Callback_HBDownload(LPCTSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam) +void CALLBACK XEngine_Callback_HBDownload(LPCXSTR lpszClientAddr, XSOCKET hSocket, int nStatus, XPVOID lParam) { XEngine_Net_CloseClient(lpszClientAddr, STORAGE_LEAVETYPE_HEARTBEAT, STORAGE_NETTYPE_HTTPDOWNLOAD); } -void CALLBACK XEngine_Callback_HBUPLoader(LPCTSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam) +void CALLBACK XEngine_Callback_HBUPLoader(LPCXSTR lpszClientAddr, XSOCKET hSocket, int nStatus, XPVOID lParam) { XEngine_Net_CloseClient(lpszClientAddr, STORAGE_LEAVETYPE_HEARTBEAT, STORAGE_NETTYPE_HTTPUPLOADER); } -void CALLBACK XEngine_Callback_HBCenter(LPCTSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam) +void CALLBACK XEngine_Callback_HBCenter(LPCXSTR lpszClientAddr, XSOCKET hSocket, int nStatus, XPVOID lParam) { XEngine_Net_CloseClient(lpszClientAddr, STORAGE_LEAVETYPE_HEARTBEAT, STORAGE_NETTYPE_HTTPCENTER); } ////////////////////////////////////////////////////////////////////////// -BOOL XEngine_Net_CloseClient(LPCTSTR lpszClientAddr, int nLeaveType, int nClientType) +bool XEngine_Net_CloseClient(LPCXSTR lpszClientAddr, int nLeaveType, int nClientType) { string m_StrLeaveMsg; string m_StrClient; if (STORAGE_NETTYPE_HTTPUPLOADER == nClientType) { - m_StrClient = _T("上传客户端"); + m_StrClient = _X("上传客户端"); if (STORAGE_LEAVETYPE_HEARTBEAT == nLeaveType) { - m_StrLeaveMsg = _T("心跳超时"); + m_StrLeaveMsg = _X("心跳超时"); NetCore_TCPXCore_CloseForClientEx(xhNetUPLoader, lpszClientAddr); } else if (STORAGE_LEAVETYPE_BYSELF == nLeaveType) { - m_StrLeaveMsg = _T("被动断开"); + m_StrLeaveMsg = _X("被动断开"); SocketOpt_HeartBeat_DeleteAddrEx(xhHBUPLoader, lpszClientAddr); } else { - m_StrLeaveMsg = _T("主动关闭"); + m_StrLeaveMsg = _X("主动关闭"); NetCore_TCPXCore_CloseForClientEx(xhNetUPLoader, lpszClientAddr); SocketOpt_HeartBeat_DeleteAddrEx(xhHBUPLoader, lpszClientAddr); } Session_UPStroage_Delete(lpszClientAddr); - RfcComponents_HttpServer_CloseClinetEx(xhUPHttp, lpszClientAddr); + HttpProtocol_Server_CloseClinetEx(xhUPHttp, lpszClientAddr); OPenSsl_Server_CloseClientEx(xhUPSsl, lpszClientAddr); } else if (STORAGE_NETTYPE_HTTPDOWNLOAD == nClientType) { - m_StrClient = _T("下载客户端"); + m_StrClient = _X("下载客户端"); if (STORAGE_LEAVETYPE_HEARTBEAT == nLeaveType) { - m_StrLeaveMsg = _T("心跳超时"); + m_StrLeaveMsg = _X("心跳超时"); NetCore_TCPXCore_CloseForClientEx(xhNetDownload, lpszClientAddr); } else if (STORAGE_LEAVETYPE_BYSELF == nLeaveType) { - m_StrLeaveMsg = _T("被动断开"); + m_StrLeaveMsg = _X("被动断开"); SocketOpt_HeartBeat_DeleteAddrEx(xhHBDownload, lpszClientAddr); } else { - m_StrLeaveMsg = _T("主动关闭"); + m_StrLeaveMsg = _X("主动关闭"); NetCore_TCPXCore_CloseForClientEx(xhNetDownload, lpszClientAddr); SocketOpt_HeartBeat_DeleteAddrEx(xhHBDownload, lpszClientAddr); } @@ -199,46 +199,46 @@ BOOL XEngine_Net_CloseClient(LPCTSTR lpszClientAddr, int nLeaveType, int nClient Session_DLStroage_Delete(lpszClientAddr); } - RfcComponents_HttpServer_CloseClinetEx(xhDLHttp, lpszClientAddr); + HttpProtocol_Server_CloseClinetEx(xhDLHttp, lpszClientAddr); OPenSsl_Server_CloseClientEx(xhDLSsl, lpszClientAddr); } else if (STORAGE_NETTYPE_HTTPCENTER == nClientType) { - m_StrClient = _T("业务客户端"); + m_StrClient = _X("业务客户端"); if (STORAGE_LEAVETYPE_HEARTBEAT == nLeaveType) { - m_StrLeaveMsg = _T("心跳超时"); + m_StrLeaveMsg = _X("心跳超时"); NetCore_TCPXCore_CloseForClientEx(xhNetCenter, lpszClientAddr); } else if (STORAGE_LEAVETYPE_BYSELF == nLeaveType) { - m_StrLeaveMsg = _T("被动断开"); + m_StrLeaveMsg = _X("被动断开"); SocketOpt_HeartBeat_DeleteAddrEx(xhHBCenter, lpszClientAddr); } else { - m_StrLeaveMsg = _T("主动关闭"); + m_StrLeaveMsg = _X("主动关闭"); NetCore_TCPXCore_CloseForClientEx(xhNetCenter, lpszClientAddr); SocketOpt_HeartBeat_DeleteAddrEx(xhHBCenter, lpszClientAddr); } - RfcComponents_HttpServer_CloseClinetEx(xhCenterHttp, lpszClientAddr); + HttpProtocol_Server_CloseClinetEx(xhCenterHttp, lpszClientAddr); OPenSsl_Server_CloseClientEx(xhCHSsl, lpszClientAddr); } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("%s:%s,与服务器断开,原因:%s"), m_StrClient.c_str(), lpszClientAddr, m_StrLeaveMsg.c_str()); - return TRUE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("%s:%s,与服务器断开,原因:%s"), m_StrClient.c_str(), lpszClientAddr, m_StrLeaveMsg.c_str()); + return true; } /////////////////////////////////////////////////////////////////////////////////// -BOOL XEngine_Net_SendMsg(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, int nType) +bool XEngine_Net_SendMsg(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, int nType) { - BOOL bRet = FALSE; + bool bRet = false; if (STORAGE_NETTYPE_HTTPDOWNLOAD == nType) { if (st_ServiceCfg.st_XCert.bDLEnable) { int nSLen = 0; - TCHAR *ptszMsgBuffer = NULL; + XCHAR *ptszMsgBuffer = NULL; OPenSsl_Server_SendMemoryEx(xhDLSsl, lpszClientAddr, lpszMsgBuffer, nMsgLen, &ptszMsgBuffer, &nSLen); bRet = NetCore_TCPXCore_SendEx(xhNetDownload, lpszClientAddr, ptszMsgBuffer, nSLen); @@ -258,7 +258,7 @@ BOOL XEngine_Net_SendMsg(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsg if (st_ServiceCfg.st_XCert.bUPEnable) { int nSLen = 0; - TCHAR* ptszMsgBuffer = NULL; + XCHAR* ptszMsgBuffer = NULL; OPenSsl_Server_SendMemoryEx(xhUPSsl, lpszClientAddr, lpszMsgBuffer, nMsgLen, &ptszMsgBuffer, &nSLen); bRet = NetCore_TCPXCore_SendEx(xhNetUPLoader, lpszClientAddr, ptszMsgBuffer, nSLen); @@ -278,7 +278,7 @@ BOOL XEngine_Net_SendMsg(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsg if (st_ServiceCfg.st_XCert.bCHEnable) { int nSLen = 0; - TCHAR* ptszMsgBuffer = NULL; + XCHAR* ptszMsgBuffer = NULL; OPenSsl_Server_SendMemoryEx(xhCHSsl, lpszClientAddr, lpszMsgBuffer, nMsgLen, &ptszMsgBuffer, &nSLen); bRet = NetCore_TCPXCore_SendEx(xhNetCenter, lpszClientAddr, ptszMsgBuffer, nSLen); @@ -295,9 +295,9 @@ BOOL XEngine_Net_SendMsg(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsg } if (!bRet) { - DWORD dwRet = NetCore_GetLastError(); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("客户端:%s,网络类型:%d,发送数据失败,发送大小:%d,错误:%lX,%d"), lpszClientAddr, nType, nMsgLen, dwRet, errno); - return FALSE; + XLONG dwRet = NetCore_GetLastError(); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("客户端:%s,网络类型:%d,发送数据失败,发送大小:%d,错误:%lX,%d"), lpszClientAddr, nType, nMsgLen, dwRet, errno); + return false; } - return TRUE; + return true; } diff --git a/XEngine_Source/XEngine_StorageApp/StorageApp_Network.h b/XEngine_Source/XEngine_StorageApp/StorageApp_Network.h index 4ebed7c6e385a56f48b56569877f14a1126d9c14..5126a0847ae17239e1f21b922905edd41944e751 100644 --- a/XEngine_Source/XEngine_StorageApp/StorageApp_Network.h +++ b/XEngine_Source/XEngine_StorageApp/StorageApp_Network.h @@ -1,18 +1,18 @@ #pragma once -BOOL CALLBACK XEngine_Callback_DownloadLogin(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam); -void CALLBACK XEngine_Callback_DownloadRecv(LPCTSTR lpszClientAddr, SOCKET hSocket, LPCTSTR lpszRecvMsg, int nMsgLen, LPVOID lParam); -void CALLBACK XEngine_Callback_DownloadLeave(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam); -BOOL CALLBACK XEngine_Callback_UPLoaderLogin(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam); -void CALLBACK XEngine_Callback_UPLoaderRecv(LPCTSTR lpszClientAddr, SOCKET hSocket, LPCTSTR lpszRecvMsg, int nMsgLen, LPVOID lParam); -void CALLBACK XEngine_Callback_UPLoaderLeave(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam); -BOOL CALLBACK XEngine_Callback_CenterLogin(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam); -void CALLBACK XEngine_Callback_CenterRecv(LPCTSTR lpszClientAddr, SOCKET hSocket, LPCTSTR lpszRecvMsg, int nMsgLen, LPVOID lParam); -void CALLBACK XEngine_Callback_CenterLeave(LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam); +bool CALLBACK XEngine_Callback_DownloadLogin(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam); +void CALLBACK XEngine_Callback_DownloadRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszRecvMsg, int nMsgLen, XPVOID lParam); +void CALLBACK XEngine_Callback_DownloadLeave(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam); +bool CALLBACK XEngine_Callback_UPLoaderLogin(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam); +void CALLBACK XEngine_Callback_UPLoaderRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszRecvMsg, int nMsgLen, XPVOID lParam); +void CALLBACK XEngine_Callback_UPLoaderLeave(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam); +bool CALLBACK XEngine_Callback_CenterLogin(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam); +void CALLBACK XEngine_Callback_CenterRecv(LPCXSTR lpszClientAddr, XSOCKET hSocket, LPCXSTR lpszRecvMsg, int nMsgLen, XPVOID lParam); +void CALLBACK XEngine_Callback_CenterLeave(LPCXSTR lpszClientAddr, XSOCKET hSocket, XPVOID lParam); -void CALLBACK XEngine_Callback_HBDownload(LPCTSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam); -void CALLBACK XEngine_Callback_HBUPLoader(LPCTSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam); -void CALLBACK XEngine_Callback_HBCenter(LPCTSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam); +void CALLBACK XEngine_Callback_HBDownload(LPCXSTR lpszClientAddr, XSOCKET hSocket, int nStatus, XPVOID lParam); +void CALLBACK XEngine_Callback_HBUPLoader(LPCXSTR lpszClientAddr, XSOCKET hSocket, int nStatus, XPVOID lParam); +void CALLBACK XEngine_Callback_HBCenter(LPCXSTR lpszClientAddr, XSOCKET hSocket, int nStatus, XPVOID lParam); -BOOL XEngine_Net_CloseClient(LPCTSTR lpszClientAddr, int nLeaveType, int nClientType = STORAGE_NETTYPE_HTTPDOWNLOAD); -BOOL XEngine_Net_SendMsg(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, int nType = STORAGE_NETTYPE_HTTPDOWNLOAD); \ No newline at end of file +bool XEngine_Net_CloseClient(LPCXSTR lpszClientAddr, int nLeaveType, int nClientType = STORAGE_NETTYPE_HTTPDOWNLOAD); +bool XEngine_Net_SendMsg(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, int nType = STORAGE_NETTYPE_HTTPDOWNLOAD); \ No newline at end of file diff --git a/XEngine_Source/XEngine_StorageApp/StorageApp_UPLoader.cpp b/XEngine_Source/XEngine_StorageApp/StorageApp_UPLoader.cpp index 7c049957ada47ea8b43d46936d62e909982446f6..a5bd9c8867c5094310c5a73ba7f2e3c49316ae25 100644 --- a/XEngine_Source/XEngine_StorageApp/StorageApp_UPLoader.cpp +++ b/XEngine_Source/XEngine_StorageApp/StorageApp_UPLoader.cpp @@ -1,6 +1,6 @@ #include "StorageApp_Hdr.h" -XHTHREAD CALLBACK XEngine_UPLoader_HTTPThread(LPVOID lParam) +XHTHREAD CALLBACK XEngine_UPLoader_HTTPThread(XPVOID lParam) { int nThreadPos = *(int*)lParam; nThreadPos++; @@ -8,25 +8,25 @@ XHTHREAD CALLBACK XEngine_UPLoader_HTTPThread(LPVOID lParam) while (bIsRun) { //等待指定线程事件触发 - if (RfcComponents_HttpServer_EventWaitEx(xhUPHttp, nThreadPos)) + if (HttpProtocol_Server_EventWaitEx(xhUPHttp, nThreadPos)) { int nListCount = 0; RFCCOMPONENTS_HTTP_PKTCLIENT** ppSt_PKTClient; //获取当前队列池中所有触发上传客户端 - RfcComponents_HttpServer_GetPoolEx(xhUPHttp, nThreadPos, &ppSt_PKTClient, &nListCount); + HttpProtocol_Server_GetPoolEx(xhUPHttp, nThreadPos, &ppSt_PKTClient, &nListCount); for (int i = 0; i < nListCount; i++) { for (int j = 0; j < ppSt_PKTClient[i]->nPktCount; j++) { int nMsgLen = 0; int nHdrCount = 0; - CHAR* ptszMsgBuffer = NULL; - CHAR** ppszListHdr = NULL; + XCHAR* ptszMsgBuffer = NULL; + XCHAR** ppszListHdr = NULL; RFCCOMPONENTS_HTTP_REQPARAM st_HTTPParam; memset(&st_HTTPParam, '\0', sizeof(RFCCOMPONENTS_HTTP_REQPARAM)); //获得指定上传客户端触发信息 - if (RfcComponents_HttpServer_GetMemoryEx(xhUPHttp, ppSt_PKTClient[i]->tszClientAddr, &ptszMsgBuffer, &nMsgLen, &st_HTTPParam, &ppszListHdr, &nHdrCount)) + if (HttpProtocol_Server_GetMemoryEx(xhUPHttp, ppSt_PKTClient[i]->tszClientAddr, &ptszMsgBuffer, &nMsgLen, &st_HTTPParam, &ppszListHdr, &nHdrCount)) { XEngine_Task_HttpUPLoader(ppSt_PKTClient[i]->tszClientAddr, ptszMsgBuffer, nMsgLen, &st_HTTPParam, ppszListHdr, nHdrCount); } @@ -39,172 +39,172 @@ XHTHREAD CALLBACK XEngine_UPLoader_HTTPThread(LPVOID lParam) } return 0; } -BOOL XEngine_Task_HttpUPLoader(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, TCHAR** pptszListHdr, int nHdrCount) +bool XEngine_Task_HttpUPLoader(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, XCHAR** pptszListHdr, int nHdrCount) { int nSDLen = 2048; - TCHAR tszSDBuffer[2048]; - TCHAR tszFileDir[1024]; + XCHAR tszSDBuffer[2048]; + XCHAR tszFileDir[1024]; RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam; memset(tszSDBuffer, '\0', sizeof(tszSDBuffer)); memset(tszFileDir, '\0', sizeof(tszFileDir)); memset(&st_HDRParam, '\0', sizeof(RFCCOMPONENTS_HTTP_HDRPARAM)); - LPCTSTR lpszMethodPut = _T("PUT"); - LPCTSTR lpszMethodPost = _T("POST"); - if ((0 != _tcsncmp(lpszMethodPut, pSt_HTTPParam->tszHttpMethod, _tcslen(lpszMethodPut))) && (0 != _tcsncmp(lpszMethodPost, pSt_HTTPParam->tszHttpMethod, _tcslen(lpszMethodPost)))) + LPCXSTR lpszMethodPut = _X("PUT"); + LPCXSTR lpszMethodPost = _X("POST"); + if ((0 != _tcsxncmp(lpszMethodPut, pSt_HTTPParam->tszHttpMethod, _tcsxlen(lpszMethodPut))) && (0 != _tcsxncmp(lpszMethodPost, pSt_HTTPParam->tszHttpMethod, _tcsxlen(lpszMethodPost)))) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 405; - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("上传客户端:%s,发送的方法:%s 不支持"), lpszClientAddr, pSt_HTTPParam->tszHttpMethod); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,发送的方法:%s 不支持"), lpszClientAddr, pSt_HTTPParam->tszHttpMethod); + return false; } //连接数限制处理 if (st_ServiceCfg.st_XLimit.nMaxUPConnect > 0) { if (!Session_UPStroage_MaxConnect(lpszClientAddr)) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 503; - RfcComponents_HttpServer_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPDOWNLOAD); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("上传客户端:%s,请求失败,连接数超过限制:%d,无法继续"), lpszClientAddr, st_ServiceCfg.st_XLimit.nMaxUPConnect); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,请求失败,连接数超过限制:%d,无法继续"), lpszClientAddr, st_ServiceCfg.st_XLimit.nMaxUPConnect); + return false; } } //用户验证 - if (st_ServiceCfg.st_XProxy.st_XProxyAuth.bAuth) + if (st_ServiceCfg.st_XAuth.bUPAuth) { - TCHAR tszUserName[64]; - TCHAR tszUserPass[64]; + XCHAR tszUserName[64]; + XCHAR tszUserPass[64]; memset(tszUserName, '\0', sizeof(tszUserName)); memset(tszUserPass, '\0', sizeof(tszUserPass)); if (!APIHelp_Api_ProxyAuth(tszUserName, tszUserPass, pptszListHdr, nHdrCount)) { - st_HDRParam.bIsClose = TRUE; - st_HDRParam.bAuth = TRUE; + st_HDRParam.bIsClose = true; + st_HDRParam.bAuth = true; st_HDRParam.nHttpCode = 401; - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("上传客户端:%s,用户验证失败,错误:%lX"), lpszClientAddr, StorageHelp_GetLastError()); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,用户验证失败,错误:%lX"), lpszClientAddr, StorageHelp_GetLastError()); + return false; } - if (_tcslen(st_ServiceCfg.st_XProxy.st_XProxyAuth.tszAuthProxy) > 0) + if (st_ServiceCfg.st_XProxy.bAuthPass) { int nBLen = 0; int nResponseCode = 0; - TCHAR* ptszBody = NULL; + XCHAR* ptszBody = NULL; Protocol_StoragePacket_BasicAuth(pSt_HTTPParam->tszHttpMethod, pSt_HTTPParam->tszHttpUri, lpszClientAddr, tszUserName, tszUserPass, tszSDBuffer, &nSDLen); - APIClient_Http_Request(_T("POST"), st_ServiceCfg.st_XProxy.st_XProxyAuth.tszAuthProxy, tszSDBuffer, &nResponseCode, &ptszBody, &nBLen); + APIClient_Http_Request(_X("POST"), st_ServiceCfg.st_XProxy.tszAuthPass, tszSDBuffer, &nResponseCode, &ptszBody, &nBLen); if (200 != nResponseCode) { - st_HDRParam.bIsClose = TRUE; - st_HDRParam.bAuth = TRUE; + st_HDRParam.bIsClose = true; + st_HDRParam.bAuth = true; st_HDRParam.nHttpCode = nResponseCode; - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("上传客户端:%s,用户验证失败,用户名:%s,密码:%s,错误码:%d,错误内容:%s"), tszUserName, tszUserPass, tszUserPass, nResponseCode, ptszBody); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,用户验证失败,用户名:%s,密码:%s,错误码:%d,错误内容:%s"), tszUserName, tszUserPass, tszUserPass, nResponseCode, ptszBody); } BaseLib_OperatorMemory_FreeCStyle((VOID**)&ptszBody); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("上传客户端:%s,代理服务:%s 验证通过,用户名:%s,密码:%s"), lpszClientAddr, st_ServiceCfg.st_XProxy.st_XProxyAuth.tszAuthProxy, tszUserName, tszUserPass); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("上传客户端:%s,代理服务:%s 验证通过,用户名:%s,密码:%s"), lpszClientAddr, st_ServiceCfg.st_XProxy.tszAuthPass, tszUserName, tszUserPass); } else { if (!Session_User_Exist(tszUserName, tszUserPass)) { - st_HDRParam.bIsClose = TRUE; - st_HDRParam.bAuth = TRUE; + st_HDRParam.bIsClose = true; + st_HDRParam.bAuth = true; st_HDRParam.nHttpCode = 401; - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("上传客户端:%s,验证用户失败,无法继续"), lpszClientAddr); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,验证用户失败,无法继续"), lpszClientAddr); + return false; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("上传客户端:%s,本地验证用户验证通过,用户名:%s,密码:%s"), lpszClientAddr, tszUserName, tszUserPass); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("上传客户端:%s,本地验证用户验证通过,用户名:%s,密码:%s"), lpszClientAddr, tszUserName, tszUserPass); } - st_HDRParam.bAuth = TRUE; + st_HDRParam.bAuth = true; } //使用重定向? if (st_LoadbalanceCfg.st_LBDistributed.nUPLoadMode > 0) { - TCHAR tszHdrBuffer[1024]; - TCHAR tszStorageAddr[128]; + XCHAR tszHdrBuffer[1024]; + XCHAR tszStorageAddr[128]; memset(tszHdrBuffer, '\0', sizeof(tszHdrBuffer)); memset(tszStorageAddr, '\0', sizeof(tszStorageAddr)); - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 302; APIHelp_Distributed_RandomAddr(st_LoadbalanceCfg.st_LoadBalance.pStl_ListUPLoader, tszStorageAddr, st_LoadbalanceCfg.st_LBDistributed.nUPLoadMode); - _stprintf(tszHdrBuffer, _T("Location: %s%s\r\n"), tszStorageAddr, pSt_HTTPParam->tszHttpUri); + _xstprintf(tszHdrBuffer, _X("Location: %s%s\r\n"), tszStorageAddr, pSt_HTTPParam->tszHttpUri); - RfcComponents_HttpServer_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, 0, tszHdrBuffer); + HttpProtocol_Server_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, 0, tszHdrBuffer); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("上传客户端:%s,请求的文件被要求重定向到:%s%s"), lpszClientAddr, tszStorageAddr, pSt_HTTPParam->tszHttpUri); - return TRUE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("上传客户端:%s,请求的文件被要求重定向到:%s%s"), lpszClientAddr, tszStorageAddr, pSt_HTTPParam->tszHttpUri); + return true; } int nRVMode = 0; int nRVCount = 0; int nHDSize = 0; - TCHAR tszFileName[MAX_PATH]; + XCHAR tszFileName[MAX_PATH]; XENGINE_STORAGEBUCKET st_StorageBucket; memset(tszFileName, '\0', MAX_PATH); memset(&st_StorageBucket, '\0', sizeof(XENGINE_STORAGEBUCKET)); //解析参数 - TCHAR** pptszParamList; + XCHAR** pptszParamList; int nParamCount = 0; - RfcComponents_HttpHelp_GetParament(pSt_HTTPParam->tszHttpUri, &pptszParamList, &nParamCount); + HttpProtocol_ServerHelp_GetParament(pSt_HTTPParam->tszHttpUri, &pptszParamList, &nParamCount); if (nParamCount < 1) { st_HDRParam.nHttpCode = 413; - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); BaseLib_OperatorMemory_Free((XPPPMEM)&pptszParamList, nParamCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("上传客户端:%s,请求上传文件失败,提供的参数:%s 不正确,错误:%lX"), lpszClientAddr, pSt_HTTPParam->tszHttpUri, HttpServer_GetLastError()); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,请求上传文件失败,提供的参数:%s 不正确,错误:%lX"), lpszClientAddr, pSt_HTTPParam->tszHttpUri, HttpProtocol_GetLastError()); + return false; } APIHelp_Api_UrlParse(&pptszParamList, nParamCount, tszFileName, st_StorageBucket.tszBuckKey); //是否指定了bucket //http://127.0.0.1:5102/api?filename=1.txt&storeagekey=storagekey1 - if (_tcslen(st_StorageBucket.tszBuckKey) > 0) + if (_tcsxlen(st_StorageBucket.tszBuckKey) > 0) { if (!APIHelp_Distributed_UPStorage(st_LoadbalanceCfg.st_LoadBalance.pStl_ListBucket, &st_StorageBucket, 4)) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 413; - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("上传客户端:%s,请求上传文件失败,可能BUCKET:% 不正确,错误:%lX"), lpszClientAddr, pSt_HTTPParam->tszHttpUri, StorageHelp_GetLastError()); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,请求上传文件失败,可能BUCKET:% 不正确,错误:%lX"), lpszClientAddr, pSt_HTTPParam->tszHttpUri, StorageHelp_GetLastError()); + return false; } } else { if (!APIHelp_Distributed_UPStorage(st_LoadbalanceCfg.st_LoadBalance.pStl_ListBucket, &st_StorageBucket, st_LoadbalanceCfg.st_LBLocation.nUPLoadMode)) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 413; - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("上传客户端:%s,请求上传文件失败,可能BUCKET:% 不正确,错误:%lX"), lpszClientAddr, pSt_HTTPParam->tszHttpUri, StorageHelp_GetLastError()); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,请求上传文件失败,可能BUCKET:% 不正确,错误:%lX"), lpszClientAddr, pSt_HTTPParam->tszHttpUri, StorageHelp_GetLastError()); + return false; } } int nPathType = 0; - _stprintf(tszFileDir, _T("%s/%s"), st_StorageBucket.tszFilePath, tszFileName); + _xstprintf(tszFileDir, _X("%s/%s"), st_StorageBucket.tszFilePath, tszFileName); BaseLib_OperatorString_GetPath(tszFileDir, &nPathType); BaseLib_OperatorString_FixPath(tszFileDir, nPathType); @@ -216,12 +216,12 @@ BOOL XEngine_Task_HttpUPLoader(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, in //得到断点续传大小 if (!APIHelp_Api_RangeFile(&nPosStart, &nPosEnd, &nPosCount, pptszListHdr, nHdrCount)) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 411; - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("上传客户端:%s,没有用户数据大小字段,无法继续"), lpszClientAddr); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,没有用户数据大小字段,无法继续"), lpszClientAddr); + return false; } //是新的还是断点续传的 if ((0 != nPosStart) || (0 != nPosEnd)) @@ -229,52 +229,52 @@ BOOL XEngine_Task_HttpUPLoader(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, in //是否启用了断点续传 if (!st_ServiceCfg.st_XStorage.bResumable) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 416; - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("上传客户端:%s,请求断点续传上传文件失败,服务端关闭了此功能,文件:%s,错误:%lX"), lpszClientAddr, tszFileDir, Session_GetLastError()); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,请求断点续传上传文件失败,服务端关闭了此功能,文件:%s,错误:%lX"), lpszClientAddr, tszFileDir, Session_GetLastError()); + return false; } } - TCHAR tszTmpPath[MAX_PATH]; + XCHAR tszTmpPath[MAX_PATH]; memset(tszTmpPath, '\0', MAX_PATH); BaseLib_OperatorString_GetFileAndPath(tszFileDir, tszTmpPath); - if (0 != _taccess(tszTmpPath, 0)) + if (0 != _xtaccess(tszTmpPath, 0)) { //不存在,是否允许创建? if (!st_StorageBucket.st_PermissionFlags.bCreateDir) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 404; - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("上传客户端:%s,请求上传文件失败,上传文件夹不存在,权限错误,文件:%s"), lpszClientAddr, tszFileDir); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,请求上传文件失败,上传文件夹不存在,权限错误,文件:%s"), lpszClientAddr, tszFileDir); + return false; } SystemApi_File_CreateMutilFolder(tszTmpPath); } if (!Session_UPStroage_Insert(lpszClientAddr, st_StorageBucket.tszBuckKey, tszFileDir, nPosCount, st_StorageBucket.st_PermissionFlags.bRewrite, nPosStart, nPosEnd)) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 404; - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("上传客户端:%s,插入用户请求失败,文件:%s,错误:%lX"), lpszClientAddr, tszFileDir, Session_GetLastError()); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,插入用户请求失败,文件:%s,错误:%lX"), lpszClientAddr, tszFileDir, Session_GetLastError()); + return false; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("上传客户端:%s,请求设置了数据范围:%d - %d/%lld"), lpszClientAddr, nPosStart, nPosEnd, nPosCount); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("上传客户端:%s,请求设置了数据范围:%d - %d/%lld"), lpszClientAddr, nPosStart, nPosEnd, nPosCount); } Session_UPStroage_Write(lpszClientAddr, lpszMsgBuffer, nMsgLen); - RfcComponents_HttpServer_GetRecvModeEx(xhUPHttp, lpszClientAddr, &nRVMode, &nRVCount, &nHDSize); + HttpProtocol_Server_GetRecvModeEx(xhUPHttp, lpszClientAddr, &nRVMode, &nRVCount, &nHDSize); if (nHDSize >= nRVCount) { int nPLen = MAX_PATH; - TCHAR tszPassNotify[MAX_PATH]; + XCHAR tszPassNotify[MAX_PATH]; SESSION_STORAGEINFO st_StorageInfo; memset(tszPassNotify, '\0', MAX_PATH); @@ -283,95 +283,95 @@ BOOL XEngine_Task_HttpUPLoader(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, in //大小是否足够 if (st_StorageInfo.ullCount != st_StorageInfo.ullRWLen) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 200; - Protocol_StoragePacket_UPDown(tszPassNotify, &nPLen, st_StorageInfo.tszBuckKey, st_StorageInfo.tszFileDir, st_StorageInfo.tszClientAddr, st_StorageInfo.ullRWLen, FALSE); - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszPassNotify, nPLen); + Protocol_StoragePacket_UPDown(tszPassNotify, &nPLen, st_StorageInfo.tszBuckKey, st_StorageInfo.tszFileDir, st_StorageInfo.tszClientAddr, st_StorageInfo.ullRWLen, false); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszPassNotify, nPLen); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _T("上传客户端:%s,请求上传文件成功,文件名:%s,总大小:%lld,写入大小:%lld,文件不完整,需要等待断点续传完毕"), lpszClientAddr, tszFileDir, st_StorageInfo.ullCount, st_StorageInfo.ullRWLen); - return TRUE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("上传客户端:%s,请求上传文件成功,文件名:%s,总大小:%lld,写入大小:%lld,文件不完整,需要等待断点续传完毕"), lpszClientAddr, tszFileDir, st_StorageInfo.ullCount, st_StorageInfo.ullRWLen); + return true; } int nHashLen = 0; - UCHAR tszHashStr[MAX_PATH]; + XBYTE tszHashStr[MAX_PATH]; XSTORAGECORE_DBFILE st_ProtocolFile; memset(tszHashStr, '\0', MAX_PATH); memset(&st_ProtocolFile, '\0', sizeof(XSTORAGECORE_DBFILE)); - _tcscpy(st_ProtocolFile.st_ProtocolFile.tszFilePath, st_StorageBucket.tszFilePath); - _tcscpy(st_ProtocolFile.st_ProtocolFile.tszFileName, tszFileName); - _tcscpy(st_ProtocolFile.tszBuckKey, st_StorageBucket.tszBuckKey); + _tcsxcpy(st_ProtocolFile.st_ProtocolFile.tszFilePath, st_StorageBucket.tszFilePath); + _tcsxcpy(st_ProtocolFile.st_ProtocolFile.tszFileName, tszFileName); + _tcsxcpy(st_ProtocolFile.tszBuckKey, st_StorageBucket.tszBuckKey); st_ProtocolFile.st_ProtocolFile.nFileSize = st_StorageInfo.ullRWLen; //上传完毕需要关闭,否则计算HASH会不正常 Session_UPStroage_Close(lpszClientAddr); - OPenSsl_Api_Digest(tszFileDir, tszHashStr, &nHashLen, TRUE, st_ServiceCfg.st_XStorage.nHashMode); + OPenSsl_Api_Digest(tszFileDir, tszHashStr, &nHashLen, true, st_ServiceCfg.st_XStorage.nHashMode); BaseLib_OperatorString_StrToHex((char*)tszHashStr, nHashLen, st_ProtocolFile.st_ProtocolFile.tszFileHash); //处理结果 if (st_ServiceCfg.st_XStorage.bUPHash) { if (APIHelp_Api_VerHash(st_ProtocolFile.st_ProtocolFile.tszFileHash, pptszListHdr, nHdrCount)) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("上传客户端:%s,上传的文件信息HASH效验成功,文件:%s HASH:%s"), lpszClientAddr, tszFileDir, st_ProtocolFile.st_ProtocolFile.tszFileHash); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,上传的文件信息HASH效验成功,文件:%s HASH:%s"), lpszClientAddr, tszFileDir, st_ProtocolFile.st_ProtocolFile.tszFileHash); } else { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 403; - _tremove(tszFileDir); - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + _xtremove(tszFileDir); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("上传客户端:%s,上传的文件信息HASH校验失败,无法继续,文件:%s 已被删除,HASH:%s,错误:%lX"), lpszClientAddr, tszFileDir, st_ProtocolFile.st_ProtocolFile.tszFileHash, StorageHelp_GetLastError()); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,上传的文件信息HASH校验失败,无法继续,文件:%s 已被删除,HASH:%s,错误:%lX"), lpszClientAddr, tszFileDir, st_ProtocolFile.st_ProtocolFile.tszFileHash, StorageHelp_GetLastError()); + return false; } } - Protocol_StoragePacket_UPDown(tszPassNotify, &nPLen, st_StorageInfo.tszBuckKey, st_StorageInfo.tszFileDir, st_StorageInfo.tszClientAddr, st_StorageInfo.ullCount, FALSE, st_ProtocolFile.st_ProtocolFile.tszFileHash); + Protocol_StoragePacket_UPDown(tszPassNotify, &nPLen, st_StorageInfo.tszBuckKey, st_StorageInfo.tszFileDir, st_StorageInfo.tszClientAddr, st_StorageInfo.ullCount, false, st_ProtocolFile.st_ProtocolFile.tszFileHash); if (st_ServiceCfg.st_XSql.bEnable) { if (Database_File_FileInsert(&st_ProtocolFile, st_StorageInfo.bRewrite)) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 200; - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszPassNotify, nPLen); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszPassNotify, nPLen); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("上传客户端:%s,请求上传文件成功,文件名:%s,大小:%d"), lpszClientAddr, tszFileDir, nRVCount); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("上传客户端:%s,请求上传文件成功,文件名:%s,大小:%d"), lpszClientAddr, tszFileDir, nRVCount); } else { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 403; - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszPassNotify, nPLen); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszPassNotify, nPLen); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("上传客户端:%s,请求上传文件失败,插入数据库失败:%s,错误:%lX"), lpszClientAddr, tszFileDir, Database_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("上传客户端:%s,请求上传文件失败,插入数据库失败:%s,错误:%lX"), lpszClientAddr, tszFileDir, Database_GetLastError()); } } else { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 200; - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszPassNotify, nPLen); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszPassNotify, nPLen); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _T("上传客户端:%s,请求上传文件成功,文件名:%s,大小:%d,数据库没有启用,不插入数据库"), lpszClientAddr, tszFileDir, nRVCount); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("上传客户端:%s,请求上传文件成功,文件名:%s,大小:%d,数据库没有启用,不插入数据库"), lpszClientAddr, tszFileDir, nRVCount); } //PASS代理 - if (st_ServiceCfg.st_XProxy.st_XProxyPass.bUPPass) + if (st_ServiceCfg.st_XProxy.bUPPass) { int nHttpCode = 0; - if (APIClient_Http_Request(_T("POST"), st_ServiceCfg.st_XProxy.st_XProxyPass.tszUPPass, tszPassNotify, &nHttpCode)) + if (APIClient_Http_Request(_X("POST"), st_ServiceCfg.st_XProxy.tszUPPass, tszPassNotify, &nHttpCode)) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("上传客户端:%s,请求完成通知返回值:%d,文件:%s,地址:%s"), lpszClientAddr, nHttpCode, st_StorageInfo.tszFileDir, st_ServiceCfg.st_XProxy.st_XProxyPass.tszUPPass); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("上传客户端:%s,请求完成通知返回值:%d,文件:%s,地址:%s"), lpszClientAddr, nHttpCode, st_StorageInfo.tszFileDir, st_ServiceCfg.st_XProxy.tszUPPass); } else { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("上传客户端:%s,请求完成通知失败,可能服务器不正确:文件:%s,地址:%s"), lpszClientAddr, st_StorageInfo.tszFileDir, st_ServiceCfg.st_XProxy.st_XProxyPass.tszUPPass); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("上传客户端:%s,请求完成通知失败,可能服务器不正确:文件:%s,地址:%s"), lpszClientAddr, st_StorageInfo.tszFileDir, st_ServiceCfg.st_XProxy.tszUPPass); } } } else { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _T("上传客户端:%s,请求上传文件中,文件名:%s,大小:%d"), lpszClientAddr, tszFileDir, nMsgLen); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _X("上传客户端:%s,请求上传文件中,文件名:%s,大小:%d"), lpszClientAddr, tszFileDir, nMsgLen); } - return TRUE; + return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_StorageApp/StorageApp_UPLoader.h b/XEngine_Source/XEngine_StorageApp/StorageApp_UPLoader.h index b839fe9b73bba109d62597936e09dd057bc2afa9..49d06174c15db6c02c85618b5c0f9b88421c3011 100644 --- a/XEngine_Source/XEngine_StorageApp/StorageApp_UPLoader.h +++ b/XEngine_Source/XEngine_StorageApp/StorageApp_UPLoader.h @@ -1,4 +1,4 @@ #pragma once -XHTHREAD CALLBACK XEngine_UPLoader_HTTPThread(LPVOID lParam); -BOOL XEngine_Task_HttpUPLoader(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, TCHAR** pptszListHdr, int nHdrCount); \ No newline at end of file +XHTHREAD CALLBACK XEngine_UPLoader_HTTPThread(XPVOID lParam); +bool XEngine_Task_HttpUPLoader(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, XCHAR** pptszListHdr, int nHdrCount); \ No newline at end of file diff --git a/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskManage.cpp b/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskManage.cpp index d852ce0c8d0872f3ec67eb693701e4c34fd05834..b7af165a108c8c76fbc3551015b19febc0c7a016 100644 --- a/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskManage.cpp +++ b/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskManage.cpp @@ -1,38 +1,38 @@ #include "../StorageApp_Hdr.h" -BOOL XEngine_Task_Manage(LPCTSTR lpszAPIName, LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, TCHAR** pptszListHdr, int nHdrCount) +bool XEngine_Task_Manage(LPCXSTR lpszAPIName, LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, XCHAR** pptszListHdr, int nHdrCount) { int nSDLen = 10240; int nRVLen = 10240; - TCHAR tszSDBuffer[10240]; - TCHAR tszRVBuffer[10240]; + XCHAR tszSDBuffer[10240]; + XCHAR tszRVBuffer[10240]; RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam; memset(tszSDBuffer, '\0', sizeof(tszSDBuffer)); memset(tszRVBuffer, '\0', sizeof(tszRVBuffer)); memset(&st_HDRParam, '\0', sizeof(RFCCOMPONENTS_HTTP_HDRPARAM)); - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 200; - if (0 == _tcsnicmp(XENGINE_STORAGE_APP_METHOD_CONFIG, lpszAPIName, _tcslen(XENGINE_STORAGE_APP_METHOD_CONFIG))) + if (0 == _tcsxnicmp(XENGINE_STORAGE_APP_METHOD_CONFIG, lpszAPIName, _tcsxlen(XENGINE_STORAGE_APP_METHOD_CONFIG))) { StorageApp_Config_Parament(0, NULL); - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,处理用户重载配置文件成功"), lpszClientAddr); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,处理用户重载配置文件成功"), lpszClientAddr); } - else if (0 == _tcsnicmp(XENGINE_STORAGE_APP_METHOD_QUERY, lpszAPIName, _tcslen(XENGINE_STORAGE_APP_METHOD_QUERY))) + else if (0 == _tcsxnicmp(XENGINE_STORAGE_APP_METHOD_QUERY, lpszAPIName, _tcsxlen(XENGINE_STORAGE_APP_METHOD_QUERY))) { //查询文件列表 int nMode = 0; int nListCount = 0; int nMsgLen = 10240; - TCHAR tszFileName[MAX_PATH]; - TCHAR tszFileHash[MAX_PATH]; - TCHAR tszBucketKey[128]; - TCHAR tszTimeStart[128]; - TCHAR tszTimeEnd[128]; - TCHAR tszMsgBuffer[10240]; + XCHAR tszFileName[MAX_PATH]; + XCHAR tszFileHash[MAX_PATH]; + XCHAR tszBucketKey[128]; + XCHAR tszTimeStart[128]; + XCHAR tszTimeEnd[128]; + XCHAR tszMsgBuffer[10240]; XSTORAGECORE_DBFILE** ppSt_ListFile; memset(tszFileName, '\0', MAX_PATH); @@ -49,47 +49,47 @@ BOOL XEngine_Task_Manage(LPCTSTR lpszAPIName, LPCTSTR lpszClientAddr, LPCTSTR lp //查找数据库 if (!st_ServiceCfg.st_XSql.bEnable) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 501; - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,请求查询文件失败,没有启用数据库,无法使用此功能!"), lpszClientAddr); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,请求查询文件失败,没有启用数据库,无法使用此功能!"), lpszClientAddr); + return false; } Database_File_FileQuery(&ppSt_ListFile, &nListCount, tszTimeStart, tszTimeEnd, tszBucketKey, NULL, tszFileName, tszFileHash); if (0 == nListCount) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 404; - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,请求查询文件失败,没有找到文件,查找文件名:%s,文件HASH:%s!"), lpszClientAddr, tszFileName, tszFileHash); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,请求查询文件失败,没有找到文件,查找文件名:%s,文件HASH:%s!"), lpszClientAddr, tszFileName, tszFileHash); + return false; } Protocol_StoragePacket_QueryFile(tszMsgBuffer, &nMsgLen, &ppSt_ListFile, nListCount, tszTimeStart, tszTimeEnd); - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszMsgBuffer, nMsgLen); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszMsgBuffer, nMsgLen); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_ListFile, nListCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,请求查询文件列表成功,列表个数:%d"), lpszClientAddr, nListCount); - return TRUE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,请求查询文件列表成功,列表个数:%d"), lpszClientAddr, nListCount); + return true; } else { //开始广播请求文件 - SOCKET hRVSocket; - SOCKET hSDSocket; + XSOCKET hRVSocket; + XSOCKET hSDSocket; XNETHANDLE xhToken = 0; list stl_ListFile; - if (_tcslen(tszFileHash) <= 0) + if (_tcsxlen(tszFileHash) <= 0) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 400; - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,发送广播请求失败,因为查询文件HASH为空"), lpszClientAddr); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,发送广播请求失败,因为查询文件HASH为空"), lpszClientAddr); + return false; } BaseLib_OperatorHandle_Create(&xhToken); Protocol_StoragePacket_REQFile(tszSDBuffer, &nSDLen, NULL, tszFileHash, xhToken); @@ -99,15 +99,15 @@ BOOL XEngine_Task_Manage(LPCTSTR lpszAPIName, LPCTSTR lpszClientAddr, LPCTSTR lp if (!NetCore_BroadCast_Send(hSDSocket, tszSDBuffer, nSDLen)) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 500; - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); NetCore_BroadCast_Close(hSDSocket); NetCore_BroadCast_Close(hRVSocket); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,发送广播请求失败,错误:%lX"), lpszClientAddr, NetCore_GetLastError()); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,发送广播请求失败,错误:%lX"), lpszClientAddr, NetCore_GetLastError()); + return false; } time_t nTimeStart = time(NULL); while (1) @@ -123,11 +123,11 @@ BOOL XEngine_Task_Manage(LPCTSTR lpszAPIName, LPCTSTR lpszClientAddr, LPCTSTR lp if (xhToken == xhP2PToken) { stl_ListFile.push_back(st_FileInfo); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,接受到P2P文件查询回复,TOKEN:%llu 一致"), lpszClientAddr, xhToken); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,接受到P2P文件查询回复,TOKEN:%llu 一致"), lpszClientAddr, xhToken); } else { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _T("业务客户端:%s,接受到P2P文件查询回复,请求TOKEN:%llu,回复TOKEN:%llu 不一致"), lpszClientAddr, xhToken, xhP2PToken); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("业务客户端:%s,接受到P2P文件查询回复,请求TOKEN:%llu,回复TOKEN:%llu 不一致"), lpszClientAddr, xhToken, xhP2PToken); } } time_t nTimeEnd = time(NULL); @@ -142,9 +142,9 @@ BOOL XEngine_Task_Manage(LPCTSTR lpszAPIName, LPCTSTR lpszClientAddr, LPCTSTR lp if (stl_ListFile.empty()) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 404; - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); } else { @@ -152,15 +152,15 @@ BOOL XEngine_Task_Manage(LPCTSTR lpszAPIName, LPCTSTR lpszClientAddr, LPCTSTR lp XSTORAGECORE_DBFILE** ppSt_ListPacket; APIHelp_Distributed_FileList(&stl_ListFile, &ppSt_ListPacket, &nListCount); Protocol_StoragePacket_QueryFile(tszRVBuffer, &nRVLen, &ppSt_ListPacket, nListCount); - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_ListPacket, nListCount); } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,请求局域网文件列表成功,文件分布服务器个数:%d"), lpszClientAddr, stl_ListFile.size()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,请求局域网文件列表成功,文件分布服务器个数:%d"), lpszClientAddr, stl_ListFile.size()); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); stl_ListFile.clear(); } } - else if (0 == _tcsnicmp(XENGINE_STORAGE_APP_METHOD_INSERT, lpszAPIName, _tcslen(XENGINE_STORAGE_APP_METHOD_INSERT))) + else if (0 == _tcsxnicmp(XENGINE_STORAGE_APP_METHOD_INSERT, lpszAPIName, _tcsxlen(XENGINE_STORAGE_APP_METHOD_INSERT))) { int nListCount = 0; XSTORAGECORE_DBFILE** ppSt_DBFile; @@ -168,39 +168,39 @@ BOOL XEngine_Task_Manage(LPCTSTR lpszAPIName, LPCTSTR lpszClientAddr, LPCTSTR lp Protocol_StorageParse_ReportFile(lpszMsgBuffer, nMsgLen, &ppSt_DBFile, &nListCount); for (int i = 0; i < nListCount; i++) { - TCHAR tszFileDir[1024]; + XCHAR tszFileDir[1024]; memset(tszFileDir, '\0', sizeof(tszFileDir)); //判断下文件是否存在就行了 - if (_tcslen(ppSt_DBFile[i]->tszBuckKey) > 0) + if (_tcsxlen(ppSt_DBFile[i]->tszBuckKey) > 0) { APIHelp_Distributed_GetPathKey(st_LoadbalanceCfg.st_LoadBalance.pStl_ListBucket, ppSt_DBFile[i]->tszBuckKey, ppSt_DBFile[i]->st_ProtocolFile.tszFilePath); } - _stprintf(tszFileDir, _T("%s/%s"), ppSt_DBFile[i]->st_ProtocolFile.tszFilePath, ppSt_DBFile[i]->st_ProtocolFile.tszFileName); - if (0 != _taccess(tszFileDir, 0)) + _xstprintf(tszFileDir, _X("%s/%s"), ppSt_DBFile[i]->st_ProtocolFile.tszFilePath, ppSt_DBFile[i]->st_ProtocolFile.tszFileName); + if (0 != _xtaccess(tszFileDir, 0)) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 404; - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,请求添加文件到数据库失败,文件不存在,文件;%s"), lpszClientAddr, tszFileDir); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,请求添加文件到数据库失败,文件不存在,文件;%s"), lpszClientAddr, tszFileDir); + return false; } if (st_ServiceCfg.st_XSql.bEnable) { Database_File_FileInsert(ppSt_DBFile[i]); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,请求添加文件到数据库成功,文件名:%s/%s"), lpszClientAddr, ppSt_DBFile[i]->st_ProtocolFile.tszFilePath, ppSt_DBFile[i]->st_ProtocolFile.tszFileName); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,请求添加文件到数据库成功,文件名:%s/%s"), lpszClientAddr, ppSt_DBFile[i]->st_ProtocolFile.tszFilePath, ppSt_DBFile[i]->st_ProtocolFile.tszFileName); } else { st_HDRParam.nHttpCode = 501; - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,请求添加文件到数据库失败,因为服务器没有启用此功能,文件名:%s/%s"), lpszClientAddr, ppSt_DBFile[i]->st_ProtocolFile.tszFilePath, ppSt_DBFile[i]->st_ProtocolFile.tszFileName); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,请求添加文件到数据库失败,因为服务器没有启用此功能,文件名:%s/%s"), lpszClientAddr, ppSt_DBFile[i]->st_ProtocolFile.tszFilePath, ppSt_DBFile[i]->st_ProtocolFile.tszFileName); } } - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_DBFile, nListCount); } - else if (0 == _tcsnicmp(XENGINE_STORAGE_APP_METHOD_DELETE, lpszAPIName, _tcslen(XENGINE_STORAGE_APP_METHOD_DELETE))) + else if (0 == _tcsxnicmp(XENGINE_STORAGE_APP_METHOD_DELETE, lpszAPIName, _tcsxlen(XENGINE_STORAGE_APP_METHOD_DELETE))) { int nListCount = 0; XSTORAGECORE_DBFILE** ppSt_DBFile; @@ -208,82 +208,82 @@ BOOL XEngine_Task_Manage(LPCTSTR lpszAPIName, LPCTSTR lpszClientAddr, LPCTSTR lp Protocol_StorageParse_ReportFile(lpszMsgBuffer, nMsgLen, &ppSt_DBFile, &nListCount); for (int i = 0; i < nListCount; i++) { - if (_tcslen(ppSt_DBFile[i]->st_ProtocolFile.tszFileHash) > 0) + if (_tcsxlen(ppSt_DBFile[i]->st_ProtocolFile.tszFileHash) > 0) { int nQueryCount = 0; XSTORAGECORE_DBFILE** ppSt_DBQuery; if (!st_ServiceCfg.st_XSql.bEnable) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 501; - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,请求删除文件:%s HASH失败,没有启用数据库,无法使用此功能!"), lpszClientAddr, ppSt_DBFile[i]->st_ProtocolFile.tszFileHash); - return TRUE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,请求删除文件:%s HASH失败,没有启用数据库,无法使用此功能!"), lpszClientAddr, ppSt_DBFile[i]->st_ProtocolFile.tszFileHash); + return true; } Database_File_FileQuery(&ppSt_DBQuery, &nQueryCount, NULL, NULL, NULL, NULL, NULL, ppSt_DBFile[i]->st_ProtocolFile.tszFileHash); //删除数据库与文件 for (int i = 0; i < nQueryCount; i++) { - TCHAR tszFilePath[1024]; + XCHAR tszFilePath[1024]; memset(tszFilePath, '\0', sizeof(tszFilePath)); - _stprintf(tszFilePath, _T("%s/%s"), ppSt_DBQuery[i]->st_ProtocolFile.tszFilePath, ppSt_DBQuery[i]->st_ProtocolFile.tszFileName); + _xstprintf(tszFilePath, _X("%s/%s"), ppSt_DBQuery[i]->st_ProtocolFile.tszFilePath, ppSt_DBQuery[i]->st_ProtocolFile.tszFileName); Database_File_FileDelete(NULL, NULL, NULL, ppSt_DBQuery[i]->st_ProtocolFile.tszFileHash); - _tremove(tszFilePath); + _xtremove(tszFilePath); } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,请求删除文件HASH成功,文件名:%s"), lpszClientAddr, ppSt_DBFile[i]->st_ProtocolFile.tszFileHash); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,请求删除文件HASH成功,文件名:%s"), lpszClientAddr, ppSt_DBFile[i]->st_ProtocolFile.tszFileHash); } else { int nQueryCount = 0; - TCHAR tszFileDir[1024]; + XCHAR tszFileDir[1024]; XSTORAGECORE_DBFILE** ppSt_DBQuery; memset(tszFileDir, '\0', sizeof(tszFileDir)); - if (_tcslen(ppSt_DBFile[i]->tszBuckKey) > 0) + if (_tcsxlen(ppSt_DBFile[i]->tszBuckKey) > 0) { APIHelp_Distributed_GetPathKey(st_LoadbalanceCfg.st_LoadBalance.pStl_ListBucket, ppSt_DBFile[i]->tszBuckKey, ppSt_DBFile[i]->st_ProtocolFile.tszFilePath); } - _stprintf(tszFileDir, _T("%s/%s"), ppSt_DBFile[i]->st_ProtocolFile.tszFilePath, ppSt_DBFile[i]->st_ProtocolFile.tszFileName); + _xstprintf(tszFileDir, _X("%s/%s"), ppSt_DBFile[i]->st_ProtocolFile.tszFilePath, ppSt_DBFile[i]->st_ProtocolFile.tszFileName); if (!st_ServiceCfg.st_XSql.bEnable) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 501; - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,请求删除文件:%s 名称失败,没有启用数据库,无法使用此功能!"), lpszClientAddr, tszFileDir); - return TRUE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,请求删除文件:%s 名称失败,没有启用数据库,无法使用此功能!"), lpszClientAddr, tszFileDir); + return true; } Database_File_FileQuery(&ppSt_DBQuery, &nQueryCount, NULL, NULL, NULL, tszFileDir); //删除数据库与文件 for (int i = 0; i < nQueryCount; i++) { - TCHAR tszFilePath[1024]; + XCHAR tszFilePath[1024]; memset(tszFilePath, '\0', sizeof(tszFilePath)); - _stprintf(tszFilePath, _T("%s/%s"), ppSt_DBQuery[i]->st_ProtocolFile.tszFilePath, ppSt_DBQuery[i]->st_ProtocolFile.tszFileName); + _xstprintf(tszFilePath, _X("%s/%s"), ppSt_DBQuery[i]->st_ProtocolFile.tszFilePath, ppSt_DBQuery[i]->st_ProtocolFile.tszFileName); Database_File_FileDelete(NULL, NULL, NULL, ppSt_DBQuery[i]->st_ProtocolFile.tszFileHash); - _tremove(tszFilePath); + _xtremove(tszFilePath); } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,请求删除文件名称成功,文件名:%s/%s"), lpszClientAddr, ppSt_DBFile[i]->st_ProtocolFile.tszFilePath, ppSt_DBFile[i]->st_ProtocolFile.tszFileName); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,请求删除文件名称成功,文件名:%s/%s"), lpszClientAddr, ppSt_DBFile[i]->st_ProtocolFile.tszFilePath, ppSt_DBFile[i]->st_ProtocolFile.tszFileName); } } - RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_DBFile, nListCount); } - else if (0 == _tcsnicmp(XENGINE_STORAGE_APP_METHOD_DIR, lpszAPIName, _tcslen(XENGINE_STORAGE_APP_METHOD_DIR))) + else if (0 == _tcsxnicmp(XENGINE_STORAGE_APP_METHOD_DIR, lpszAPIName, _tcsxlen(XENGINE_STORAGE_APP_METHOD_DIR))) { int nOPCode = 0; int nListCount = 0; - CHAR** ppszListDir = NULL; - TCHAR tszUserDir[MAX_PATH]; - TCHAR tszBuckKey[MAX_PATH]; - TCHAR tszBuckPath[MAX_PATH]; - TCHAR tszRealDir[1024]; + XCHAR** ppszListDir = NULL; + XCHAR tszUserDir[MAX_PATH]; + XCHAR tszBuckKey[MAX_PATH]; + XCHAR tszBuckPath[MAX_PATH]; + XCHAR tszRealDir[1024]; memset(tszUserDir, '\0', MAX_PATH); memset(tszBuckKey, '\0', MAX_PATH); @@ -293,82 +293,82 @@ BOOL XEngine_Task_Manage(LPCTSTR lpszAPIName, LPCTSTR lpszClientAddr, LPCTSTR lp Protocol_StorageParse_DirOperator(lpszMsgBuffer, tszUserDir, tszBuckKey, &nOPCode); APIHelp_Distributed_GetPathKey(st_LoadbalanceCfg.st_LoadBalance.pStl_ListBucket, tszBuckKey, tszBuckPath); - if (_tcslen(tszUserDir) > 0) + if (_tcsxlen(tszUserDir) > 0) { - _stprintf(tszRealDir, _T("%s/%s"), tszBuckPath, tszUserDir); + _xstprintf(tszRealDir, _X("%s/%s"), tszBuckPath, tszUserDir); } else { - _stprintf(tszRealDir, _T("%s"), tszBuckPath); + _xstprintf(tszRealDir, _X("%s"), tszBuckPath); } if (0 == nOPCode) { //处理路径格式 - if (tszRealDir[_tcslen(tszRealDir) - 1] != '*') + if (tszRealDir[_tcsxlen(tszRealDir) - 1] != '*') { int nPathType = 0; BaseLib_OperatorString_GetPath(tszRealDir, &nPathType); //判断是绝对路径还是相对路径 if (1 == nPathType) { - _tcscat(tszRealDir, _T("\\*")); + _tcsxcat(tszRealDir, _X("\\*")); } else if (2 == nPathType) { - _tcscat(tszRealDir, _T("/*")); + _tcsxcat(tszRealDir, _X("/*")); } } - if (!SystemApi_File_EnumFile(tszRealDir, &ppszListDir, &nListCount, NULL, NULL, TRUE, 2)) + if (!SystemApi_File_EnumFile(tszRealDir, &ppszListDir, &nListCount, NULL, NULL, true, 2)) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 404; - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,请求查询文件夹:%s,失败,错误:%lX"), lpszClientAddr, tszRealDir, SystemApi_GetLastError()); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,请求查询文件夹:%s,失败,错误:%lX"), lpszClientAddr, tszRealDir, SystemApi_GetLastError()); + return false; } Protocol_StoragePacket_DirOperator(tszRVBuffer, &nRVLen, &ppszListDir, nListCount); BaseLib_OperatorMemory_Free((XPPPMEM)&ppszListDir, nListCount); - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,请求查询文件夹:%s,成功,文件夹个数:%d"), lpszClientAddr, tszRealDir, nListCount); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,请求查询文件夹:%s,成功,文件夹个数:%d"), lpszClientAddr, tszRealDir, nListCount); } else if (1 == nOPCode) { if (!SystemApi_File_CreateMutilFolder(tszRealDir)) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 404; - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,请求创建文件夹:%s,失败,错误:%lX"), lpszClientAddr, tszRealDir, SystemApi_GetLastError()); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,请求创建文件夹:%s,失败,错误:%lX"), lpszClientAddr, tszRealDir, SystemApi_GetLastError()); + return false; } - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,请求创建文件夹:%s,成功"), lpszClientAddr, tszRealDir); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,请求创建文件夹:%s,成功"), lpszClientAddr, tszRealDir); } else if (2 == nOPCode) { if (!SystemApi_File_DeleteMutilFolder(tszRealDir)) { - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 404; - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("业务客户端:%s,请求删除文件夹:%s,失败,错误:%lX"), lpszClientAddr, tszRealDir, SystemApi_GetLastError()); - return FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("业务客户端:%s,请求删除文件夹:%s,失败,错误:%lX"), lpszClientAddr, tszRealDir, SystemApi_GetLastError()); + return false; } - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,请求删除文件夹:%s,成功"), lpszClientAddr, tszRealDir); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,请求删除文件夹:%s,成功"), lpszClientAddr, tszRealDir); } } - else if (0 == _tcsnicmp(XENGINE_STORAGE_APP_METHOD_TASK, lpszAPIName, _tcslen(XENGINE_STORAGE_APP_METHOD_TASK))) + else if (0 == _tcsxnicmp(XENGINE_STORAGE_APP_METHOD_TASK, lpszAPIName, _tcsxlen(XENGINE_STORAGE_APP_METHOD_TASK))) { int nDLCount = 0; int nUPCount = 0; @@ -379,11 +379,11 @@ BOOL XEngine_Task_Manage(LPCTSTR lpszAPIName, LPCTSTR lpszClientAddr, LPCTSTR lp Session_UPStorage_GetAll(&ppSt_UPInfo, &nUPCount); Protocol_StoragePacket_Info(tszRVBuffer, &nRVLen, &ppSt_DLInfo, &ppSt_UPInfo, nDLCount, nUPCount); - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_DLInfo, nDLCount); BaseLib_OperatorMemory_Free((XPPPMEM)&ppSt_UPInfo, nUPCount); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,请求获取上传下载信息成功,下载个数:%d,上传个数:%d"), lpszClientAddr, nDLCount, nUPCount); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,请求获取上传下载信息成功,下载个数:%d,上传个数:%d"), lpszClientAddr, nDLCount, nUPCount); } - return TRUE; + return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskManage.h b/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskManage.h index 8ff768ffa2fa3a38b64774a43b97de60e76aace8..99d9f05d2d8d6dfa81398f47955fa765cd9b0ae5 100644 --- a/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskManage.h +++ b/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskManage.h @@ -1,9 +1,9 @@ #pragma once -#define XENGINE_STORAGE_APP_METHOD_INSERT _T("Insert") -#define XENGINE_STORAGE_APP_METHOD_DELETE _T("Delete") -#define XENGINE_STORAGE_APP_METHOD_QUERY _T("Query") -#define XENGINE_STORAGE_APP_METHOD_DIR _T("Dir") -#define XENGINE_STORAGE_APP_METHOD_TASK _T("Task") +#define XENGINE_STORAGE_APP_METHOD_INSERT _X("Insert") +#define XENGINE_STORAGE_APP_METHOD_DELETE _X("Delete") +#define XENGINE_STORAGE_APP_METHOD_QUERY _X("Query") +#define XENGINE_STORAGE_APP_METHOD_DIR _X("Dir") +#define XENGINE_STORAGE_APP_METHOD_TASK _X("Task") -BOOL XEngine_Task_Manage(LPCTSTR lpszAPIName, LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, TCHAR** pptszListHdr, int nHdrCount); \ No newline at end of file +bool XEngine_Task_Manage(LPCXSTR lpszAPIName, LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, XCHAR** pptszListHdr, int nHdrCount); \ No newline at end of file diff --git a/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskP2p.cpp b/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskP2p.cpp index 5d628eaddfdb82c423ef013382a46bf73c69b910..0fb967f9915ffecfd1e9e48114f0bbf8383eb399 100644 --- a/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskP2p.cpp +++ b/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskP2p.cpp @@ -2,13 +2,13 @@ XHTHREAD XEngine_Task_P2PThread() { - TCHAR tszMsgBuffer[2048]; - TCHAR tszIPAddr[128]; - TCHAR tszTimeStart[64]; - TCHAR tszTimeEnd[64]; - TCHAR tszBuckKey[MAX_PATH]; - TCHAR tszFileName[MAX_PATH]; - TCHAR tszFileHash[MAX_PATH]; + XCHAR tszMsgBuffer[2048]; + XCHAR tszIPAddr[128]; + XCHAR tszTimeStart[64]; + XCHAR tszTimeEnd[64]; + XCHAR tszBuckKey[MAX_PATH]; + XCHAR tszFileName[MAX_PATH]; + XCHAR tszFileHash[MAX_PATH]; while (bIsRun) { @@ -33,15 +33,15 @@ XHTHREAD XEngine_Task_P2PThread() Database_File_FileQuery(&pppSt_ListFile, &nListCount, tszTimeStart, tszTimeEnd, tszBuckKey, NULL, tszFileName, tszFileHash); if (nListCount > 0) { - _stprintf(pppSt_ListFile[0]->tszTableName, _T("%s:%d"), st_ServiceCfg.tszIPAddr, st_ServiceCfg.nStorageDLPort); + _xstprintf(pppSt_ListFile[0]->tszTableName, _X("%s:%d"), st_ServiceCfg.tszIPAddr, st_ServiceCfg.nStorageDLPort); Protocol_StoragePacket_QueryFile(tszMsgBuffer, &nMsgLen, &pppSt_ListFile, nListCount, tszTimeStart, tszTimeEnd, xhToken); BaseLib_OperatorMemory_Free((XPPPMEM)&pppSt_ListFile, nListCount); - SOCKET hSocket; + XSOCKET hSocket; NetCore_BroadCast_Create(&hSocket, st_ServiceCfg.st_P2xp.nSDPort, st_ServiceCfg.tszIPAddr); NetCore_BroadCast_Send(hSocket, tszMsgBuffer, nMsgLen); NetCore_BroadCast_Close(hSocket); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("广播端:%s,请求查询文件成功,Token:%llu,列表个数:%d"), tszIPAddr, xhToken, nListCount); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("广播端:%s,请求查询文件成功,Token:%llu,列表个数:%d"), tszIPAddr, xhToken, nListCount); } } } diff --git a/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskPass.cpp b/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskPass.cpp index 644e578fa3febbcc462f3a86217a7cd7cb03cc89..704926657fcd6cfcf22b0083574103f9141597ec 100644 --- a/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskPass.cpp +++ b/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskPass.cpp @@ -1,20 +1,20 @@ #include "../StorageApp_Hdr.h" -BOOL XEngine_Task_Pass(LPCTSTR lpszAPIName, LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, TCHAR** pptszListHdr, int nHdrCount) +bool XEngine_Task_Pass(LPCXSTR lpszAPIName, LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, XCHAR** pptszListHdr, int nHdrCount) { int nSDLen = 2048; - TCHAR tszSDBuffer[2048]; + XCHAR tszSDBuffer[2048]; RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam; memset(tszSDBuffer, '\0', sizeof(tszSDBuffer)); memset(&st_HDRParam, '\0', sizeof(RFCCOMPONENTS_HTTP_HDRPARAM)); - st_HDRParam.bIsClose = TRUE; + st_HDRParam.bIsClose = true; st_HDRParam.nHttpCode = 200; //下载 - if (0 == _tcsnicmp(XENGINE_STORAGE_APP_METHOD_UPFILE, lpszAPIName, _tcslen(XENGINE_STORAGE_APP_METHOD_UPFILE))) + if (0 == _tcsxnicmp(XENGINE_STORAGE_APP_METHOD_UPFILE, lpszAPIName, _tcsxlen(XENGINE_STORAGE_APP_METHOD_UPFILE))) { - TCHAR tszClientAddr[128]; + XCHAR tszClientAddr[128]; XSTORAGECORE_DBFILE st_DBFile; memset(tszClientAddr, '\0', sizeof(tszClientAddr)); @@ -22,15 +22,15 @@ BOOL XEngine_Task_Pass(LPCTSTR lpszAPIName, LPCTSTR lpszClientAddr, LPCTSTR lpsz Protocol_StorageParse_ProxyNotify(lpszMsgBuffer, nMsgLen, tszClientAddr, st_DBFile.tszBuckKey, st_DBFile.st_ProtocolFile.tszFileName, st_DBFile.st_ProtocolFile.tszFileHash, &st_DBFile.st_ProtocolFile.nFileSize); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,请求的上传文件通知协议成功,Bucket:%s,文件名:%s,大小:%d"), lpszClientAddr, st_DBFile.tszBuckKey, st_DBFile.st_ProtocolFile.tszFileName, st_DBFile.st_ProtocolFile.nFileSize); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,请求的上传文件通知协议成功,Bucket:%s,文件名:%s,大小:%d"), lpszClientAddr, st_DBFile.tszBuckKey, st_DBFile.st_ProtocolFile.tszFileName, st_DBFile.st_ProtocolFile.nFileSize); } - else if (0 == _tcsnicmp(XENGINE_STORAGE_APP_METHOD_DLFILE, lpszAPIName, _tcslen(XENGINE_STORAGE_APP_METHOD_DLFILE))) + else if (0 == _tcsxnicmp(XENGINE_STORAGE_APP_METHOD_DLFILE, lpszAPIName, _tcsxlen(XENGINE_STORAGE_APP_METHOD_DLFILE))) { __int64x nFileSize = 0; - TCHAR tszPathKey[MAX_PATH]; - TCHAR tszFileName[MAX_PATH]; - TCHAR tszFileHash[MAX_PATH]; - TCHAR tszClientAddr[128]; + XCHAR tszPathKey[MAX_PATH]; + XCHAR tszFileName[MAX_PATH]; + XCHAR tszFileHash[MAX_PATH]; + XCHAR tszClientAddr[128]; memset(tszPathKey, '\0', MAX_PATH); memset(tszFileName, '\0', MAX_PATH); @@ -38,9 +38,9 @@ BOOL XEngine_Task_Pass(LPCTSTR lpszAPIName, LPCTSTR lpszClientAddr, LPCTSTR lpsz memset(tszClientAddr, '\0', sizeof(tszClientAddr)); Protocol_StorageParse_ProxyNotify(lpszMsgBuffer, nMsgLen, tszClientAddr, tszPathKey, tszFileName, tszFileHash, &nFileSize); - RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); + HttpProtocol_Server_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam); XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,请求的下载文件通知协议成功,文件:%s,大小:%lld"), lpszClientAddr, tszFileName, nFileSize); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("业务客户端:%s,请求的下载文件通知协议成功,文件:%s,大小:%lld"), lpszClientAddr, tszFileName, nFileSize); } - return TRUE; + return true; } \ No newline at end of file diff --git a/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskPass.h b/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskPass.h index 3ee9a4cdc4d3bb0bb129af76fb0516a2bfb2aebc..9fb3a73cd9178768cd499939adbc305a8925cf98 100644 --- a/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskPass.h +++ b/XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskPass.h @@ -1,3 +1,3 @@ #pragma once -BOOL XEngine_Task_Pass(LPCTSTR lpszAPIName, LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, TCHAR** pptszListHdr, int nHdrCount); \ No newline at end of file +bool XEngine_Task_Pass(LPCXSTR lpszAPIName, LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, XCHAR** pptszListHdr, int nHdrCount); \ No newline at end of file diff --git a/XEngine_Source/XEngine_StorageApp/XEngine_StorageApp.cpp b/XEngine_Source/XEngine_StorageApp/XEngine_StorageApp.cpp index 03fd2d17b4b7c399376afd13e6e41bff5fbf5ecf..cc080fe3e4ce1190eb884dc40c245d99df597da7 100644 --- a/XEngine_Source/XEngine_StorageApp/XEngine_StorageApp.cpp +++ b/XEngine_Source/XEngine_StorageApp/XEngine_StorageApp.cpp @@ -1,7 +1,7 @@ #include "StorageApp_Hdr.h" -BOOL bIsRun = FALSE; -XLOG xhLog = NULL; +bool bIsRun = false; +XHANDLE xhLog = NULL; XHANDLE xhHBDownload = NULL; XHANDLE xhHBUPLoader = NULL; @@ -23,7 +23,7 @@ XHANDLE xhUPHttp = NULL; XHANDLE xhDLHttp = NULL; XHANDLE xhCenterHttp = NULL; -SOCKET hBroadSocket = 0; +XSOCKET hBroadSocket = 0; shared_ptr pSTDThread = NULL; XENGINE_SERVERCONFIG st_ServiceCfg; @@ -33,12 +33,12 @@ void ServiceApp_Stop(int signo) { if (bIsRun) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _T("存储中心服务器退出...")); - bIsRun = FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("存储中心服务器退出...")); + bIsRun = false; - RfcComponents_HttpServer_DestroyEx(xhUPHttp); - RfcComponents_HttpServer_DestroyEx(xhDLHttp); - RfcComponents_HttpServer_DestroyEx(xhCenterHttp); + HttpProtocol_Server_DestroyEx(xhUPHttp); + HttpProtocol_Server_DestroyEx(xhDLHttp); + HttpProtocol_Server_DestroyEx(xhCenterHttp); OPenSsl_Server_StopEx(xhDLSsl); OPenSsl_Server_StopEx(xhUPSsl); @@ -112,10 +112,10 @@ int main(int argc, char** argv) WSADATA st_WSAData; WSAStartup(MAKEWORD(2, 2), &st_WSAData); #endif - bIsRun = TRUE; + bIsRun = true; string m_StrVersion; - LPCTSTR lpszHTTPMime = _T("./XEngine_Config/HttpMime.types"); - LPCTSTR lpszHTTPCode = _T("./XEngine_Config/HttpCode.types"); + LPCXSTR lpszHTTPMime = _X("./XEngine_Config/HttpMime.types"); + LPCXSTR lpszHTTPCode = _X("./XEngine_Config/HttpCode.types"); HELPCOMPONENTS_XLOG_CONFIGURE st_XLogConfig; THREADPOOL_PARAMENT** ppSt_ListUPThread; THREADPOOL_PARAMENT** ppSt_ListDLThread; @@ -133,16 +133,16 @@ int main(int argc, char** argv) if (st_ServiceCfg.st_Memory.bReload) { //重载配置文件后退出 - TCHAR tszAddr[128]; + XCHAR tszAddr[128]; memset(tszAddr, '\0', sizeof(tszAddr)); - _stprintf(tszAddr, _T("Http://127.0.0.1:%d/Api/Manage/Config"), st_ServiceCfg.nCenterPort); - APIClient_Http_Request(_T("POST"), tszAddr); + _xstprintf(tszAddr, _X("Http://127.0.0.1:%d/Api/Manage/Config"), st_ServiceCfg.nCenterPort); + APIClient_Http_Request(_X("POST"), tszAddr); return 0; } st_XLogConfig.XLog_MaxBackupFile = st_ServiceCfg.st_XLog.nMaxCount; st_XLogConfig.XLog_MaxSize = st_ServiceCfg.st_XLog.nMaxSize; - _tcscpy(st_XLogConfig.tszFileName, _T("./XEngine_XLog/XEngine_StorageApp.log")); + _tcsxcpy(st_XLogConfig.tszFileName, _X("./XEngine_XLog/XEngine_StorageApp.log")); xhLog = HelpComponents_XLog_Init(HELPCOMPONENTS_XLOG_OUTTYPE_FILE | HELPCOMPONENTS_XLOG_OUTTYPE_STD, &st_XLogConfig); if (NULL == xhLog) @@ -152,119 +152,119 @@ int main(int argc, char** argv) } HelpComponents_XLog_SetLogPriority(xhLog, st_ServiceCfg.st_XLog.nLogLeave); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,初始化日志系统成功")); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化日志系统成功")); if (st_ServiceCfg.bDeamon) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,使用守护进程启动服务...")); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,使用守护进程启动服务...")); ServiceApp_Deamon(1); } signal(SIGINT, ServiceApp_Stop); signal(SIGTERM, ServiceApp_Stop); signal(SIGABRT, ServiceApp_Stop); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,初始化服务器信号管理成功")); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化服务器信号管理成功")); xhLimit = Algorithm_Calculation_Create(); if (NULL == xhLimit) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,创建流量限速对象模式失败,错误:%lX"), Algorithm_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,创建流量限速对象模式失败,错误:%lX"), Algorithm_GetLastError()); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,创建流量限速对象模式成功")); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,创建流量限速对象模式成功")); if (st_ServiceCfg.st_XTime.bHBTime) { xhHBDownload = SocketOpt_HeartBeat_InitEx(st_ServiceCfg.st_XTime.nStorageTimeOut, st_ServiceCfg.st_XTime.nTimeCheck, XEngine_Callback_HBDownload); if (NULL == xhHBDownload) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,初始化下载心跳管理服务失败,错误:%lX"), NetCore_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化下载心跳管理服务失败,错误:%lX"), NetCore_GetLastError()); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,初始化下载心跳管理服务成功,时间:%d,次数:%d"), st_ServiceCfg.st_XTime.nStorageTimeOut, st_ServiceCfg.st_XTime.nTimeCheck); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化下载心跳管理服务成功,时间:%d,次数:%d"), st_ServiceCfg.st_XTime.nStorageTimeOut, st_ServiceCfg.st_XTime.nTimeCheck); xhHBUPLoader = SocketOpt_HeartBeat_InitEx(st_ServiceCfg.st_XTime.nStorageTimeOut, st_ServiceCfg.st_XTime.nTimeCheck, XEngine_Callback_HBUPLoader); if (NULL == xhHBUPLoader) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,初始化上传心跳管理服务失败,错误:%lX"), NetCore_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化上传心跳管理服务失败,错误:%lX"), NetCore_GetLastError()); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,初始化上传心跳管理服务成功,时间:%d,次数:%d"), st_ServiceCfg.st_XTime.nStorageTimeOut, st_ServiceCfg.st_XTime.nTimeCheck); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化上传心跳管理服务成功,时间:%d,次数:%d"), st_ServiceCfg.st_XTime.nStorageTimeOut, st_ServiceCfg.st_XTime.nTimeCheck); xhHBCenter = SocketOpt_HeartBeat_InitEx(st_ServiceCfg.st_XTime.nCenterTimeOut, st_ServiceCfg.st_XTime.nTimeCheck, XEngine_Callback_HBCenter); if (NULL == xhHBCenter) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,初始化业务管理服务失败,错误:%lX"), NetCore_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化业务管理服务失败,错误:%lX"), NetCore_GetLastError()); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,初始化业务管理服务成功,时间:%d,次数:%d"), st_ServiceCfg.st_XTime.nCenterTimeOut, st_ServiceCfg.st_XTime.nTimeCheck); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化业务管理服务成功,时间:%d,次数:%d"), st_ServiceCfg.st_XTime.nCenterTimeOut, st_ServiceCfg.st_XTime.nTimeCheck); } else { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _T("启动服务中,心跳管理服务配置为不启用...")); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,心跳管理服务配置为不启用...")); } if (st_ServiceCfg.st_XSql.bEnable) { if (!Database_File_Init((DATABASE_MYSQL_CONNECTINFO*)&st_ServiceCfg.st_XSql, st_ServiceCfg.st_XTime.nDBMonth)) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,初始化MYSQL数据库服务失败,错误:%lX"), Database_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化MYSQL数据库服务失败,错误:%lX"), Database_GetLastError()); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,初始化MYSQL数据库服务成功,数据库地址:%s"), st_ServiceCfg.st_XSql.tszSQLAddr); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化MYSQL数据库服务成功,数据库地址:%s"), st_ServiceCfg.st_XSql.tszSQLAddr); } else { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _T("启动服务中,初始化数据库失败,数据库被设置为禁用,相关功能已经被禁止使用!")); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,初始化数据库失败,数据库被设置为禁用,相关功能已经被禁止使用!")); } - if (!Session_User_Init(st_ServiceCfg.st_XProxy.st_XProxyAuth.tszUserList)) + if (!Session_User_Init(st_ServiceCfg.st_XAuth.tszUserList)) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,启动用户管理服务失败,错误:%lX"), Session_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动用户管理服务失败,错误:%lX"), Session_GetLastError()); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动用户管理服务成功")); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动用户管理服务成功")); //启动下载服务 if (st_ServiceCfg.nStorageDLPort > 0) { - xhDLHttp = RfcComponents_HttpServer_InitEx(lpszHTTPCode, lpszHTTPMime, st_ServiceCfg.st_XMax.nStorageDLThread); + xhDLHttp = HttpProtocol_Server_InitEx(lpszHTTPCode, lpszHTTPMime, st_ServiceCfg.st_XMax.nStorageDLThread); if (NULL == xhDLHttp) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,初始化HTTP下载服务失败,错误:%lX"), HttpServer_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化HTTP下载服务失败,错误:%lX"), HttpProtocol_GetLastError()); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,初始化HTTP下载服务成功,IO线程个数:%d"), st_ServiceCfg.st_XMax.nStorageDLThread); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化HTTP下载服务成功,IO线程个数:%d"), st_ServiceCfg.st_XMax.nStorageDLThread); if (!Session_DLStroage_Init(st_ServiceCfg.st_XLimit.nMaxDNConnect)) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,启动下载会话服务失败,错误:%lX"), Session_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动下载会话服务失败,错误:%lX"), Session_GetLastError()); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动下载会话服务成功,下载限速模式:%s,连接数限制;%d"), st_ServiceCfg.st_XLimit.bLimitMode ? "开" : "关", st_ServiceCfg.st_XLimit.nMaxDNConnect); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动下载会话服务成功,下载限速模式:%s,连接数限制;%d"), st_ServiceCfg.st_XLimit.bLimitMode ? "开" : "关", st_ServiceCfg.st_XLimit.nMaxDNConnect); if (st_ServiceCfg.st_XCert.bDLEnable) { - xhDLSsl = OPenSsl_Server_InitEx(st_ServiceCfg.st_XCert.tszCertChain, NULL, st_ServiceCfg.st_XCert.tszCertKey, FALSE, FALSE, (ENUM_XENGINE_OPENSSL_PROTOCOL)st_ServiceCfg.st_XCert.nSslType); + xhDLSsl = OPenSsl_Server_InitEx(st_ServiceCfg.st_XCert.tszCertChain, NULL, st_ServiceCfg.st_XCert.tszCertKey, false, false, (ENUM_XENGINE_OPENSSL_PROTOCOL)st_ServiceCfg.st_XCert.nSslType); if (NULL == xhDLSsl) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,启动下载SSL服务失败,错误:%lX"), Session_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动下载SSL服务失败,错误:%lX"), Session_GetLastError()); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动下载SSL服务成功,证书链:%s,证书Key:%s,验证模式:%d"), st_ServiceCfg.st_XCert.tszCertChain, st_ServiceCfg.st_XCert.tszCertKey, st_ServiceCfg.st_XCert.nSslType); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动下载SSL服务成功,证书链:%s,证书Key:%s,验证模式:%d"), st_ServiceCfg.st_XCert.tszCertChain, st_ServiceCfg.st_XCert.tszCertKey, st_ServiceCfg.st_XCert.nSslType); } else { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _T("启动服务中,检测到没有启用下载SSL服务")); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,检测到没有启用下载SSL服务")); } - xhNetDownload = NetCore_TCPXCore_StartEx(st_ServiceCfg.nStorageDLPort, st_ServiceCfg.st_XMax.nMaxClient, st_ServiceCfg.st_XMax.nIOThread, FALSE, st_ServiceCfg.bReuseraddr); + xhNetDownload = NetCore_TCPXCore_StartEx(st_ServiceCfg.nStorageDLPort, st_ServiceCfg.st_XMax.nMaxClient, st_ServiceCfg.st_XMax.nIOThread, false, st_ServiceCfg.bReuseraddr); if (NULL == xhNetDownload) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,启动下载存储网络服务失败,端口:%d,错误:%lX,%d"), st_ServiceCfg.nStorageDLPort, NetCore_GetLastError(), errno); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动下载存储网络服务失败,端口:%d,错误:%lX,%d"), st_ServiceCfg.nStorageDLPort, NetCore_GetLastError(), errno); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动下载存储网络服务成功,端口:%d,IO线程个数:%d"), st_ServiceCfg.nStorageDLPort, st_ServiceCfg.st_XMax.nIOThread); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动下载存储网络服务成功,端口:%d,IO线程个数:%d"), st_ServiceCfg.nStorageDLPort, st_ServiceCfg.st_XMax.nIOThread); NetCore_TCPXCore_RegisterCallBackEx(xhNetDownload, XEngine_Callback_DownloadLogin, XEngine_Callback_DownloadRecv, XEngine_Callback_DownloadLeave); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,注册下载存储网络服务事件成功!")); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,注册下载存储网络服务事件成功!")); BaseLib_OperatorMemory_Malloc((XPPPMEM)&ppSt_ListDLThread, st_ServiceCfg.st_XMax.nStorageDLThread, sizeof(THREADPOOL_PARAMENT)); for (int i = 0; i < st_ServiceCfg.st_XMax.nStorageDLThread; i++) @@ -278,53 +278,53 @@ int main(int argc, char** argv) xhDLPool = ManagePool_Thread_NQCreate(&ppSt_ListDLThread, st_ServiceCfg.st_XMax.nStorageDLThread); if (NULL == xhDLPool) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,启动HTTP下载处理线程池失败,错误:%d"), errno); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动HTTP下载处理线程池失败,错误:%d"), errno); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动HTTP下载任务处理线程池成功,线程池个数:%d"), st_ServiceCfg.st_XMax.nStorageDLThread); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动HTTP下载任务处理线程池成功,线程池个数:%d"), st_ServiceCfg.st_XMax.nStorageDLThread); } //启动上传服务 if (st_ServiceCfg.nStorageUPPort > 0) { - xhUPHttp = RfcComponents_HttpServer_InitEx(lpszHTTPCode, lpszHTTPMime, st_ServiceCfg.st_XMax.nStorageUPThread); + xhUPHttp = HttpProtocol_Server_InitEx(lpszHTTPCode, lpszHTTPMime, st_ServiceCfg.st_XMax.nStorageUPThread); if (NULL == xhDLHttp) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,初始化HTTP上传服务失败,错误:%lX"), HttpServer_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化HTTP上传服务失败,错误:%lX"), HttpProtocol_GetLastError()); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,初始化HTTP上传服务成功,IO线程个数:%d"), st_ServiceCfg.st_XMax.nStorageUPThread); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化HTTP上传服务成功,IO线程个数:%d"), st_ServiceCfg.st_XMax.nStorageUPThread); if (!Session_UPStroage_Init(st_ServiceCfg.st_XLimit.nMaxUPConnect, st_ServiceCfg.st_XStorage.bResumable)) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,启动上传会话服务失败,错误:%lX"), Session_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动上传会话服务失败,错误:%lX"), Session_GetLastError()); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动上传会话服务成功,连接数限制;%d"), st_ServiceCfg.st_XLimit.nMaxUPConnect); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动上传会话服务成功,连接数限制;%d"), st_ServiceCfg.st_XLimit.nMaxUPConnect); if (st_ServiceCfg.st_XCert.bUPEnable) { - xhUPSsl = OPenSsl_Server_InitEx(st_ServiceCfg.st_XCert.tszCertChain, NULL, st_ServiceCfg.st_XCert.tszCertKey, FALSE, FALSE, (ENUM_XENGINE_OPENSSL_PROTOCOL)st_ServiceCfg.st_XCert.nSslType); + xhUPSsl = OPenSsl_Server_InitEx(st_ServiceCfg.st_XCert.tszCertChain, NULL, st_ServiceCfg.st_XCert.tszCertKey, false, false, (ENUM_XENGINE_OPENSSL_PROTOCOL)st_ServiceCfg.st_XCert.nSslType); if (NULL == xhUPSsl) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,启动上传SSL服务失败,错误:%lX"), Session_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动上传SSL服务失败,错误:%lX"), Session_GetLastError()); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动上传SSL服务成功,证书链:%s,证书Key:%s,验证模式:%d"), st_ServiceCfg.st_XCert.tszCertChain, st_ServiceCfg.st_XCert.tszCertKey, st_ServiceCfg.st_XCert.nSslType); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动上传SSL服务成功,证书链:%s,证书Key:%s,验证模式:%d"), st_ServiceCfg.st_XCert.tszCertChain, st_ServiceCfg.st_XCert.tszCertKey, st_ServiceCfg.st_XCert.nSslType); } else { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _T("启动服务中,检测到没有启用上传SSL服务")); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,检测到没有启用上传SSL服务")); } - xhNetUPLoader = NetCore_TCPXCore_StartEx(st_ServiceCfg.nStorageUPPort, st_ServiceCfg.st_XMax.nMaxClient, st_ServiceCfg.st_XMax.nIOThread, FALSE, st_ServiceCfg.bReuseraddr); + xhNetUPLoader = NetCore_TCPXCore_StartEx(st_ServiceCfg.nStorageUPPort, st_ServiceCfg.st_XMax.nMaxClient, st_ServiceCfg.st_XMax.nIOThread, false, st_ServiceCfg.bReuseraddr); if (NULL == xhNetUPLoader) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,启动上传存储网络服务失败,端口:%d,错误:%lX"), st_ServiceCfg.nStorageUPPort, NetCore_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动上传存储网络服务失败,端口:%d,错误:%lX"), st_ServiceCfg.nStorageUPPort, NetCore_GetLastError()); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动上传存储网络服务成功,端口:%d,IO线程个数:%d"), st_ServiceCfg.nStorageUPPort, st_ServiceCfg.st_XMax.nIOThread); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动上传存储网络服务成功,端口:%d,IO线程个数:%d"), st_ServiceCfg.nStorageUPPort, st_ServiceCfg.st_XMax.nIOThread); NetCore_TCPXCore_RegisterCallBackEx(xhNetUPLoader, XEngine_Callback_UPLoaderLogin, XEngine_Callback_UPLoaderRecv, XEngine_Callback_UPLoaderLeave); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,注册上传存储网络服务事件成功!")); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,注册上传存储网络服务事件成功!")); BaseLib_OperatorMemory_Malloc((XPPPMEM)&ppSt_ListUPThread, st_ServiceCfg.st_XMax.nStorageUPThread, sizeof(THREADPOOL_PARAMENT)); for (int i = 0; i < st_ServiceCfg.st_XMax.nStorageUPThread; i++) @@ -338,46 +338,46 @@ int main(int argc, char** argv) xhUPPool = ManagePool_Thread_NQCreate(&ppSt_ListUPThread, st_ServiceCfg.st_XMax.nStorageDLThread); if (NULL == xhUPPool) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,启动HTTP上传处理线程池失败,错误:%d"), errno); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动HTTP上传处理线程池失败,错误:%d"), errno); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动HTTP上传任务处理线程池成功,线程池个数:%d"), st_ServiceCfg.st_XMax.nStorageDLThread); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动HTTP上传任务处理线程池成功,线程池个数:%d"), st_ServiceCfg.st_XMax.nStorageDLThread); } //启动接口服务 if (st_ServiceCfg.nCenterPort > 0) { - xhCenterHttp = RfcComponents_HttpServer_InitEx(lpszHTTPCode, lpszHTTPMime, st_ServiceCfg.st_XMax.nCenterThread); + xhCenterHttp = HttpProtocol_Server_InitEx(lpszHTTPCode, lpszHTTPMime, st_ServiceCfg.st_XMax.nCenterThread); if (NULL == xhCenterHttp) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,初始化HTTP业务服务失败,错误:%lX"), HttpServer_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,初始化HTTP业务服务失败,错误:%lX"), HttpProtocol_GetLastError()); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,初始化HTTP业务服务成功,IO线程个数:%d"), st_ServiceCfg.st_XMax.nCenterThread); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,初始化HTTP业务服务成功,IO线程个数:%d"), st_ServiceCfg.st_XMax.nCenterThread); if (st_ServiceCfg.st_XCert.bCHEnable) { - xhCHSsl = OPenSsl_Server_InitEx(st_ServiceCfg.st_XCert.tszCertChain, NULL, st_ServiceCfg.st_XCert.tszCertKey, FALSE, FALSE, (ENUM_XENGINE_OPENSSL_PROTOCOL)st_ServiceCfg.st_XCert.nSslType); + xhCHSsl = OPenSsl_Server_InitEx(st_ServiceCfg.st_XCert.tszCertChain, NULL, st_ServiceCfg.st_XCert.tszCertKey, false, false, (ENUM_XENGINE_OPENSSL_PROTOCOL)st_ServiceCfg.st_XCert.nSslType); if (NULL == xhCHSsl) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,启动业务SSL服务失败,错误:%lX"), Session_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动业务SSL服务失败,错误:%lX"), Session_GetLastError()); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动业务SSL服务成功,证书链:%s,证书Key:%s,验证模式:%d"), st_ServiceCfg.st_XCert.tszCertChain, st_ServiceCfg.st_XCert.tszCertKey, st_ServiceCfg.st_XCert.nSslType); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动业务SSL服务成功,证书链:%s,证书Key:%s,验证模式:%d"), st_ServiceCfg.st_XCert.tszCertChain, st_ServiceCfg.st_XCert.tszCertKey, st_ServiceCfg.st_XCert.nSslType); } else { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _T("启动服务中,检测到没有启用业务SSL服务")); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,检测到没有启用业务SSL服务")); } - xhNetCenter = NetCore_TCPXCore_StartEx(st_ServiceCfg.nCenterPort, st_ServiceCfg.st_XMax.nMaxClient, st_ServiceCfg.st_XMax.nIOThread, FALSE, st_ServiceCfg.bReuseraddr); + xhNetCenter = NetCore_TCPXCore_StartEx(st_ServiceCfg.nCenterPort, st_ServiceCfg.st_XMax.nMaxClient, st_ServiceCfg.st_XMax.nIOThread, false, st_ServiceCfg.bReuseraddr); if (NULL == xhNetCenter) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,启动业务控制存储网络服务失败,端口:%d,错误:%lX"), st_ServiceCfg.nCenterPort, NetCore_GetLastError()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动业务控制存储网络服务失败,端口:%d,错误:%lX"), st_ServiceCfg.nCenterPort, NetCore_GetLastError()); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动业务控制存储网络服务成功,端口:%d,IO线程个数:%d"), st_ServiceCfg.nCenterPort, st_ServiceCfg.st_XMax.nIOThread); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动业务控制存储网络服务成功,端口:%d,IO线程个数:%d"), st_ServiceCfg.nCenterPort, st_ServiceCfg.st_XMax.nIOThread); NetCore_TCPXCore_RegisterCallBackEx(xhNetCenter, XEngine_Callback_CenterLogin, XEngine_Callback_CenterRecv, XEngine_Callback_CenterLeave); - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,注册业务控制存储存储网络服务事件成功!")); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,注册业务控制存储存储网络服务事件成功!")); BaseLib_OperatorMemory_Malloc((XPPPMEM)&ppSt_ListCTThread, st_ServiceCfg.st_XMax.nCenterThread, sizeof(THREADPOOL_PARAMENT)); for (int i = 0; i < st_ServiceCfg.st_XMax.nCenterThread; i++) @@ -391,36 +391,36 @@ int main(int argc, char** argv) xhCTPool = ManagePool_Thread_NQCreate(&ppSt_ListCTThread, st_ServiceCfg.st_XMax.nCenterThread); if (NULL == xhCTPool) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,启动HTTP业务处理线程池失败,错误:%d"), errno); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动HTTP业务处理线程池失败,错误:%d"), errno); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动HTTP业务任务处理线程池成功,线程池个数:%d"), st_ServiceCfg.st_XMax.nCenterThread); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动HTTP业务任务处理线程池成功,线程池个数:%d"), st_ServiceCfg.st_XMax.nCenterThread); } //只有使用了数据库,才启用P2P if (st_ServiceCfg.st_XSql.bEnable) { if (!NetCore_BroadCast_Create(&hBroadSocket, st_ServiceCfg.st_P2xp.nRVPort)) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,启动P2P存储广播服务失败,错误:%d"), errno); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动P2P存储广播服务失败,错误:%d"), errno); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动P2P存储广播服务成功,端口:%d"), st_ServiceCfg.st_P2xp.nRVPort); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动P2P存储广播服务成功,端口:%d"), st_ServiceCfg.st_P2xp.nRVPort); pSTDThread = make_shared(XEngine_Task_P2PThread); if (!pSTDThread->joinable()) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,启动P2P存储广播服务线程失败,错误:%d"), errno); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("启动服务中,启动P2P存储广播服务线程失败,错误:%d"), errno); goto XENGINE_EXITAPP; } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动P2P存储广播服务线程成功")); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("启动服务中,启动P2P存储广播服务线程成功")); } else { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _T("启动服务中,P2P存储服务配置为不启动")); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("启动服务中,P2P存储服务配置为不启动")); } - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("所有服务成功启动,存储中心服务运行中,发行版本次数:%d,XEngine版本:%s 当前运行版本:%s。。。"), st_ServiceCfg.st_XVer.pStl_ListStorage->size(), BaseLib_OperatorVer_XGetStr(), st_ServiceCfg.st_XVer.pStl_ListStorage->front().c_str()); + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("所有服务成功启动,存储中心服务运行中,发行版本次数:%d,XEngine版本:%s%s 当前运行版本:%s。。。"), st_ServiceCfg.st_XVer.pStl_ListStorage->size(), BaseLib_OperatorVer_XNumberStr(), BaseLib_OperatorVer_XTypeStr(), st_ServiceCfg.st_XVer.pStl_ListStorage->front().c_str()); - while (TRUE) + while (true) { std::this_thread::sleep_for(std::chrono::seconds(1)); } @@ -429,12 +429,12 @@ XENGINE_EXITAPP: if (bIsRun) { - XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("存储中心服务关闭,服务器退出...")); - bIsRun = FALSE; + XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("存储中心服务关闭,服务器退出...")); + bIsRun = false; - RfcComponents_HttpServer_DestroyEx(xhUPHttp); - RfcComponents_HttpServer_DestroyEx(xhDLHttp); - RfcComponents_HttpServer_DestroyEx(xhCenterHttp); + HttpProtocol_Server_DestroyEx(xhUPHttp); + HttpProtocol_Server_DestroyEx(xhDLHttp); + HttpProtocol_Server_DestroyEx(xhCenterHttp); OPenSsl_Server_StopEx(xhDLSsl); OPenSsl_Server_StopEx(xhUPSsl); diff --git a/XEngine_Source/XEngine_ThirdPart/jsoncpp/Makefile b/XEngine_Source/XEngine_ThirdPart/jsoncpp/Makefile index 9302ec2d3afdae1d1419fc94d18406be75e36113..39af933f1d734cf10ea5cee4be99b9aa2d3f3d65 100644 --- a/XEngine_Source/XEngine_ThirdPart/jsoncpp/Makefile +++ b/XEngine_Source/XEngine_ThirdPart/jsoncpp/Makefile @@ -1,52 +1,66 @@ CC = g++ -Wall -std=c++17 -fPIC -SHAREFLAG = -shared -SHAREDLL = so +PLATFORM = linux +PLATVER = +PLATDIR = +FILEEXT = +LIBFLAG = RELEASE = 0 UNICODE = 0 -INCLUDE = -I ./ -FILECENTOS = /etc/redhat-release -LOADBIN = +LOADHDR = -I ./ +LOADSO = -L LIB = -LIBEX = -ldl -lpthread -LOADSO = -Wl,-rpath= -LIBINCLUDE = json_reader.o json_value.o json_writer.o - -ifeq ($(shell uname),Darwin) - SHAREDLL = dylib - SHAREFLAG = -dynamiclib - LOADSO = -else - SHAREDLL = so - SHAREFLAG = -shared -endif +LIBEX = +OBJECTS = json_reader.o json_value.o json_writer.o ifeq ($(RELEASE),1) -FLAGS = -c -O2 -DEBUG = +FLAGS = -c +DEBUG = else -FLAGS = -c -DEBUG = -g +FLAGS = -c -lc_p +DEBUG = -g -pg endif ifeq ($(UNICODE),1) UNICODE = -D _UNICODE else -UNICODE = +UNICODE = +endif + +ifeq ($(PLATFORM),linux) + ifeq (/etc/redhat-release,$(wildcard /etc/redhat-release)) + PLATVER = -D __CENTOS__ + PLATDIR = XEngine_Linux/Centos + else + PLATVER = -D __UBUNTU__ + PLATDIR = XEngine_Linux/Ubuntu + endif + FILEEXT = so + LIBFLAG = -shared + LIBEX = -lpthread -lrt -ldl + LOADBIN = -Wl,-rpath=./,--disable-new-dtags +else ifeq ($(PLATFORM),mac) + CC += -Wno-deprecated-declarations + PLATVER = -D __MACOS__ + PLATDIR = XEngine_Mac + FILEEXT = dylib + LIBFLAG = -dynamiclib + LIBEX = -lpthread -ldl + LOADBIN = -Wl,-rpath,@loader_path/./ endif -all:$(LIBINCLUDE) - $(CC) $(DEBUG) $(LIBINCLUDE) -o libjsoncpp.$(SHAREDLL) $(SHAREFLAG) -fPIC $(LOADBIN) $(LIB) $(LIBEX) $(LOADSO) +all:$(OBJECTS) + $(CC) $(DEBUG) $(OBJECTS) -o libjsoncpp.$(FILEEXT) $(LIBFLAG) $(LIB) $(LIBEX) $(LOADSO) $(LOADBIN) json_reader.o:json_reader.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(INCLUDE) json_reader.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) json_reader.cpp json_value.o:json_value.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(INCLUDE) json_value.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) json_value.cpp json_writer.o:json_writer.cpp - $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(INCLUDE) json_writer.cpp + $(CC) $(DEBUG) $(FLAGS) $(UNICODE) $(PLATVER) $(LOADHDR) json_writer.cpp InstallAll:InstallSo -InstallSo:./libjsoncpp.$(SHAREDLL) - cp ./libjsoncpp.$(SHAREDLL) ../../../XEngine_Release/libjsoncpp.$(SHAREDLL) +InstallSo:./libjsoncpp.$(FILEEXT) + cp ./libjsoncpp.$(FILEEXT) ../../../XEngine_Release/libjsoncpp.$(FILEEXT) @@ -54,4 +68,4 @@ CleanAll:CleanObj CleanMk CleanObj: rm *.o CleanMk: - rm *.$(SHAREDLL) + rm *.$(FILEEXT) diff --git a/XEngine_Source/XStorage_Protocol.h b/XEngine_Source/XStorage_Protocol.h index 6ef5661323407aaa469be79c04c3f7d5739f6444..7e4fb7d3462bc2f4493008eca6865630fa121c61 100644 --- a/XEngine_Source/XStorage_Protocol.h +++ b/XEngine_Source/XStorage_Protocol.h @@ -26,44 +26,44 @@ //文件传输头文件,可用于P2XP文件传输和组包管理模块文件传输 typedef struct tag_XEngine_Protocol_File { - CHAR tszFilePath[MAX_PATH]; //文件路径 - CHAR tszFileName[MAX_PATH]; //文件名称,文件传输的时候才需要,其他时候不需要 - CHAR tszFileHash[MAX_PATH]; //文件HASH值,MD5或者HASH1 256等...不能超过260字节大小 - CHAR tszFileUser[128]; //文件所属用户 - CHAR tszFileTime[64]; //文件创建时间,如果这个参数不填,那么服务器将会设置为接受到的文件时间 + XCHAR tszFilePath[MAX_PATH]; //文件路径 + XCHAR tszFileName[MAX_PATH]; //文件名称,文件传输的时候才需要,其他时候不需要 + XCHAR tszFileHash[MAX_PATH]; //文件HASH值,MD5或者HASH1 256等...不能超过260字节大小 + XCHAR tszFileUser[128]; //文件所属用户 + XCHAR tszFileTime[64]; //文件创建时间,如果这个参数不填,那么服务器将会设置为接受到的文件时间 __int64x nFileSize; //文件大小 }XENGINE_PROTOCOL_FILE, * LPXENGINE_PROTOCOL_FILE; //连接信息 typedef struct tag_XEngine_P2XPPeer_Protocol { - CHAR tszUserName[64]; //用户信息 - CHAR tszPrivateAddr[32]; //私有本地地址,内网地址 - CHAR tszPublicAddr[32]; //外网地址 - CHAR tszConnectAddr[32]; //链接地址 - WORD dwConnectType; //连接类型 - WORD dwPeerType; //节点类型 + XCHAR tszUserName[64]; //用户信息 + XCHAR tszPrivateAddr[32]; //私有本地地址,内网地址 + XCHAR tszPublicAddr[32]; //外网地址 + XCHAR tszConnectAddr[32]; //链接地址 + XSHOT dwConnectType; //连接类型 + XSHOT dwPeerType; //节点类型 }XENGINE_P2XPPEER_PROTOCOL, * LPXENGINE_P2XPPEER_PROTOCOL; //P2XP通道连接命令 typedef struct tag_XEngine_P2XPIO_Protocol { - CHAR tszSourceUser[32]; //请求连接的用户 - CHAR tszDestUser[32]; //要连接的用户 - CHAR tszConnectAddr[32]; //连接的IP地址 + XCHAR tszSourceUser[32]; //请求连接的用户 + XCHAR tszDestUser[32]; //要连接的用户 + XCHAR tszConnectAddr[32]; //连接的IP地址 int nDestPort; //要连接的端口 - BOOL bIsTcp; //连接类型TCP,否则为UDP + bool bIsTcp; //连接类型TCP,否则为UDP }XENGINE_P2XPIO_PROTOCOL, * LPXENGINE_P2XPIO_PROTOCOL; //IP地址信息 typedef struct { - TCHAR tszIPStart[128]; - TCHAR tszIPEnd[128]; - TCHAR tszIPAddr[128]; //IP地址 - TCHAR tszIPCountry[128]; //国家/地区 - TCHAR tszIPProvince[128]; //省/自治区 - TCHAR tszIPCity[128]; //市 - TCHAR tszIPCounty[128]; //县 - TCHAR tszIPAddress[128]; //详细地址 - TCHAR tszIPISP[128]; //运营商 - TCHAR tszIPTime[128]; //数据库日期 + XCHAR tszIPStart[128]; + XCHAR tszIPEnd[128]; + XCHAR tszIPAddr[128]; //IP地址 + XCHAR tszIPCountry[128]; //国家/地区 + XCHAR tszIPProvince[128]; //省/自治区 + XCHAR tszIPCity[128]; //市 + XCHAR tszIPCounty[128]; //县 + XCHAR tszIPAddress[128]; //详细地址 + XCHAR tszIPISP[128]; //运营商 + XCHAR tszIPTime[128]; //数据库日期 }XENGINE_IPADDRINFO; #pragma pack(pop) \ No newline at end of file