Skip to content

Commit 332b623

Browse files
committed
fix:complie warnning message...
distributed: Supported completion notification of other servers
1 parent 3d49a2a commit 332b623

File tree

8 files changed

+163
-16
lines changed

8 files changed

+163
-16
lines changed

XEngine_Source/XEngine_StorageApp/StorageApp_Center.cpp

Lines changed: 40 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ BOOL XEngine_Task_HttpCenter(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int
7777
//使用重定向?
7878
if ((3 == st_ServiceCfg.st_XStorage.nUseMode) || (4 == st_ServiceCfg.st_XStorage.nUseMode))
7979
{
80-
TCHAR tszHdrBuffer[MAX_PATH];
81-
memset(tszHdrBuffer, '\0', MAX_PATH);
80+
TCHAR tszHdrBuffer[1024];
81+
memset(tszHdrBuffer, '\0', sizeof(tszHdrBuffer));
8282

8383
st_HDRParam.bIsClose = TRUE;
8484
st_HDRParam.nHttpCode = 302;
@@ -103,13 +103,44 @@ BOOL XEngine_Task_HttpCenter(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int
103103
}
104104

105105
LPCTSTR lpszEvent = _T("Event");
106-
LPCTSTR lpszQuery = _T("query");
107-
LPCTSTR lpszEventUPFile = _T("UPFile");
108-
LPCTSTR lpszQueryFile = _T("file");
109-
if (0 == _tcsnicmp(lpszQuery, tszAPIMethod, _tcslen(lpszQuery)))
106+
LPCTSTR lpszQuery = _T("Query");
107+
LPCTSTR lpszNotify = _T("Notify");
108+
109+
LPCTSTR lpszUPFile = _T("UPFile");
110+
LPCTSTR lpszDLFile = _T("DLFile");
111+
LPCTSTR lpszFile = _T("File");
112+
113+
//通知类型.用于多服务器
114+
if (0 == _tcsnicmp(lpszNotify, tszAPIMethod, _tcslen(lpszNotify)))
115+
{
116+
//下载
117+
if (0 == _tcsnicmp(lpszDLFile, tszAPIName, _tcslen(lpszDLFile)))
118+
{
119+
__int64x nFileSize = 0;
120+
TCHAR tszFileName[MAX_PATH];
121+
TCHAR tszFileHash[MAX_PATH];
122+
TCHAR tszClientAddr[128];
123+
124+
memset(tszFileName, '\0', MAX_PATH);
125+
memset(tszFileHash, '\0', MAX_PATH);
126+
memset(tszClientAddr, '\0', sizeof(tszClientAddr));
127+
128+
XStorageProtocol_Proxy_ParseNotify(lpszMsgBuffer, nMsgLen, tszClientAddr, tszFileName, tszFileHash, &nFileSize);
129+
130+
st_HDRParam.bIsClose = TRUE;
131+
st_HDRParam.nHttpCode = 200;
132+
133+
RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszSDBuffer, &nSDLen, &st_HDRParam);
134+
XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPCENTER);
135+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("业务客户端:%s,请求的下载文件通知协议成功,文件:%s,大小:%lld"), lpszClientAddr, tszFileName, nFileSize);
136+
}
137+
}
138+
else if (0 == _tcsnicmp(lpszQuery, tszAPIMethod, _tcslen(lpszQuery)))
110139
{
111-
if (0 == _tcsnicmp(lpszQueryFile, tszAPIName, _tcslen(lpszQueryFile)))
140+
//文件查询类型
141+
if (0 == _tcsnicmp(lpszFile, tszAPIName, _tcslen(lpszFile)))
112142
{
143+
//查询文件列表
113144
int nMsgLen = 10240;
114145
TCHAR tszFileName[MAX_PATH];
115146
TCHAR tszFileHash[MAX_PATH];
@@ -140,7 +171,8 @@ BOOL XEngine_Task_HttpCenter(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int
140171
}
141172
else if (0 == _tcsnicmp(lpszEvent, tszAPIMethod, _tcslen(lpszEvent)))
142173
{
143-
if (0 == _tcsnicmp(lpszEventUPFile, tszAPIName, _tcslen(lpszEventUPFile)))
174+
//事件处理类型,上传事件,用于NGINX
175+
if (0 == _tcsnicmp(lpszUPFile, tszAPIName, _tcslen(lpszUPFile)))
144176
{
145177
LPCTSTR lpszContentType = _T("Content-Type");
146178
LPCTSTR lpszBoundaryStr = _T("boundary=");

XEngine_Source/XEngine_StorageApp/StorageApp_Download.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ BOOL XEngine_Task_HttpDownload(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, in
127127
//使用重定向?
128128
if ((1 == st_ServiceCfg.st_XStorage.nUseMode) || (4 == st_ServiceCfg.st_XStorage.nUseMode))
129129
{
130-
TCHAR tszHdrBuffer[MAX_PATH];
131-
memset(tszHdrBuffer, '\0', MAX_PATH);
130+
TCHAR tszHdrBuffer[1024];
131+
memset(tszHdrBuffer, '\0', sizeof(tszHdrBuffer));
132132

133133
st_HDRParam.bIsClose = TRUE;
134134
st_HDRParam.nHttpCode = 302;

XEngine_Source/XEngine_StorageApp/StorageApp_UPLoader.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ BOOL XEngine_Task_HttpUPLoader(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, in
7373
//使用重定向?
7474
if ((2 == st_ServiceCfg.st_XStorage.nUseMode) || (4 == st_ServiceCfg.st_XStorage.nUseMode))
7575
{
76-
TCHAR tszHdrBuffer[MAX_PATH];
77-
memset(tszHdrBuffer, '\0', MAX_PATH);
76+
TCHAR tszHdrBuffer[1024];
77+
memset(tszHdrBuffer, '\0', sizeof(tszHdrBuffer));
7878

7979
st_HDRParam.bIsClose = TRUE;
8080
st_HDRParam.nHttpCode = 302;

XEngine_Source/XEngine_StorageComponents/XStorage_Protocol/XStorageProtocol_Define.h

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,45 @@ extern "C" BOOL XStorageProtocol_Proxy_PacketBasicAuth(LPCTSTR lpszPostUrl, LPCT
9595
备注:
9696
*********************************************************************/
9797
extern "C" BOOL XStorageProtocol_Proxy_PacketUPDown(LPCTSTR lpszFileName, LPCTSTR lpszClientAddr, __int64x nFileSize, TCHAR* ptszMsgBuffer, int* pInt_MsgLen, LPCTSTR lpszFileHash = NULL);
98+
/********************************************************************
99+
函数名称:XStorageProtocol_Proxy_ParseUPDown
100+
函数功能:解析上传下载通知协议
101+
参数.一:lpszMsgBuffer
102+
In/Out:In
103+
类型:常量字符指针
104+
可空:N
105+
意思:输入要解析的内容
106+
参数.二:nMsgLen
107+
In/Out:In
108+
类型:整数型
109+
可空:N
110+
意思:输入要解析的大小
111+
参数.三:ptszClientAddr
112+
In/Out:Out
113+
类型:字符指针
114+
可空:N
115+
意思:输出文件客户端地址
116+
参数.四:ptszFileName
117+
In/Out:Out
118+
类型:字符指针
119+
可空:N
120+
意思:输出文件名称
121+
参数.五:ptszFileHash
122+
In/Out:Out
123+
类型:字符指针
124+
可空:N
125+
意思:输出文件HASH
126+
参数.六:pInt_FileSize
127+
In/Out:Out
128+
类型:整数型
129+
可空:N
130+
意思:输出文件大小
131+
返回值
132+
类型:逻辑型
133+
意思:是否成功
134+
备注:
135+
*********************************************************************/
136+
extern "C" BOOL XStorageProtocol_Proxy_ParseNotify(LPCTSTR lpszMsgBuffer, int nMsgLen, TCHAR* ptszClientAddr, TCHAR* ptszFileName, TCHAR* ptszFileHash, __int64x* pInt_FileSize);
98137
/************************************************************************/
99138
/* 客户端协议操作导出函数 */
100139
/************************************************************************/

XEngine_Source/XEngine_StorageComponents/XStorage_Protocol/XStorageProtocol_Error.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@
1111
// History:
1212
*********************************************************************/
1313
//////////////////////////////////////////////////////////////////////////
14-
// 导出的公用协议错误
14+
// 导出的协议错误
1515
//////////////////////////////////////////////////////////////////////////
16-
#define ERROR_XENGINE_XSTROGE_PROTOCOL_COMM_PARAMENT 0x130C0000
16+
#define ERROR_XENGINE_XSTROGE_PROTOCOL_PARAMENT 0x130C0000
17+
#define ERROR_XENGINE_XSTROGE_PROTOCOL_PARSE 0x130C0001
1718
//////////////////////////////////////////////////////////////////////////
1819
// 导出的客户端协议错误
1920
//////////////////////////////////////////////////////////////////////////

XEngine_Source/XEngine_StorageComponents/XStorage_Protocol/XStorageProtocol_Proxy/XStorageProtocol_Proxy.cpp

Lines changed: 72 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ BOOL CXStorageProtocol_Proxy::XStorageProtocol_Proxy_PacketBasicAuth(LPCTSTR lps
6767
if ((NULL == lpszUser) || (NULL == lpszPass))
6868
{
6969
XStorage_IsErrorOccur = TRUE;
70-
XStorage_dwErrorCode = ERROR_XENGINE_XSTROGE_PROTOCOL_COMM_PARAMENT;
70+
XStorage_dwErrorCode = ERROR_XENGINE_XSTROGE_PROTOCOL_PARAMENT;
7171
return FALSE;
7272
}
7373
Json::Value st_JsonRoot;
@@ -126,7 +126,7 @@ BOOL CXStorageProtocol_Proxy::XStorageProtocol_Proxy_PacketUPDown(LPCTSTR lpszFi
126126
if ((NULL == lpszFileName) || (NULL == lpszClientAddr))
127127
{
128128
XStorage_IsErrorOccur = TRUE;
129-
XStorage_dwErrorCode = ERROR_XENGINE_XSTROGE_PROTOCOL_COMM_PARAMENT;
129+
XStorage_dwErrorCode = ERROR_XENGINE_XSTROGE_PROTOCOL_PARAMENT;
130130
return FALSE;
131131
}
132132
Json::Value st_JsonRoot;
@@ -138,5 +138,75 @@ BOOL CXStorageProtocol_Proxy::XStorageProtocol_Proxy_PacketUPDown(LPCTSTR lpszFi
138138

139139
*pInt_MsgLen = st_JsonRoot.toStyledString().length();
140140
_tcscpy(ptszMsgBuffer, st_JsonRoot.toStyledString().c_str());
141+
return TRUE;
142+
}
143+
/********************************************************************
144+
函数名称:XStorageProtocol_Proxy_ParseUPDown
145+
函数功能:解析上传下载通知协议
146+
参数.一:lpszMsgBuffer
147+
In/Out:In
148+
类型:常量字符指针
149+
可空:N
150+
意思:输入要解析的内容
151+
参数.二:nMsgLen
152+
In/Out:In
153+
类型:整数型
154+
可空:N
155+
意思:输入要解析的大小
156+
参数.三:ptszClientAddr
157+
In/Out:Out
158+
类型:字符指针
159+
可空:N
160+
意思:输出文件客户端地址
161+
参数.四:ptszFileName
162+
In/Out:Out
163+
类型:字符指针
164+
可空:N
165+
意思:输出文件名称
166+
参数.五:ptszFileHash
167+
In/Out:Out
168+
类型:字符指针
169+
可空:N
170+
意思:输出文件HASH
171+
参数.六:pInt_FileSize
172+
In/Out:Out
173+
类型:整数型
174+
可空:N
175+
意思:输出文件大小
176+
返回值
177+
类型:逻辑型
178+
意思:是否成功
179+
备注:
180+
*********************************************************************/
181+
BOOL CXStorageProtocol_Proxy::XStorageProtocol_Proxy_ParseNotify(LPCTSTR lpszMsgBuffer, int nMsgLen, TCHAR* ptszClientAddr, TCHAR* ptszFileName, TCHAR* ptszFileHash, __int64x* pInt_FileSize)
182+
{
183+
XStorage_IsErrorOccur = FALSE;
184+
185+
if ((NULL == lpszMsgBuffer) || (NULL == ptszClientAddr))
186+
{
187+
XStorage_IsErrorOccur = TRUE;
188+
XStorage_dwErrorCode = ERROR_XENGINE_XSTROGE_PROTOCOL_PARAMENT;
189+
return FALSE;
190+
}
191+
Json::Value st_JsonRoot;
192+
Json::CharReaderBuilder st_JsonBuild;
193+
Json::CharReader* pSt_JsonReader(st_JsonBuild.newCharReader());
194+
195+
JSONCPP_STRING st_JsonError;
196+
//解析JSON
197+
if (!pSt_JsonReader->parse(lpszMsgBuffer, lpszMsgBuffer + _tcslen(lpszMsgBuffer), &st_JsonRoot, &st_JsonError))
198+
{
199+
XStorage_IsErrorOccur = TRUE;
200+
XStorage_dwErrorCode = ERROR_XENGINE_XSTROGE_PROTOCOL_PARSE;
201+
return FALSE;
202+
}
203+
delete pSt_JsonReader;
204+
pSt_JsonReader = NULL;
205+
206+
_tcscpy(ptszClientAddr, st_JsonRoot["lpszClientAddr"].asCString());
207+
_tcscpy(ptszFileName, st_JsonRoot["lpszFileName"].asCString());
208+
_tcscpy(ptszFileHash, st_JsonRoot["lpszFileHash"].asCString());
209+
*pInt_FileSize = st_JsonRoot["nFileSize"].asInt64();
210+
141211
return TRUE;
142212
}

XEngine_Source/XEngine_StorageComponents/XStorage_Protocol/XStorageProtocol_Proxy/XStorageProtocol_Proxy.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ class CXStorageProtocol_Proxy
1919
public:
2020
BOOL XStorageProtocol_Proxy_PacketBasicAuth(LPCTSTR lpszPostUrl, LPCTSTR lpszClientAddr, LPCTSTR lpszUser, LPCTSTR lpszPass, TCHAR* ptszMsgBuffer, int* pInt_MsgLen);
2121
BOOL XStorageProtocol_Proxy_PacketUPDown(LPCTSTR lpszFileName, LPCTSTR lpszClientAddr, __int64x nFileSize, TCHAR* ptszMsgBuffer, int* pInt_MsgLen, LPCTSTR lpszFileHash = NULL);
22+
BOOL XStorageProtocol_Proxy_ParseNotify(LPCTSTR lpszMsgBuffer, int nMsgLen, TCHAR* ptszClientAddr, TCHAR* ptszFileName, TCHAR* ptszFileHash, __int64x* pInt_FileSize);
2223
protected:
2324
private:
2425
};

XEngine_Source/XEngine_StorageComponents/XStorage_Protocol/pch.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ extern "C" BOOL XStorageProtocol_Proxy_PacketUPDown(LPCTSTR lpszFileName, LPCTST
4141
{
4242
return m_ProtocolProxy.XStorageProtocol_Proxy_PacketUPDown(lpszFileName, lpszClientAddr, nFileSize, ptszMsgBuffer, pInt_MsgLen, lpszFileHash);
4343
}
44+
extern "C" BOOL XStorageProtocol_Proxy_ParseNotify(LPCTSTR lpszMsgBuffer, int nMsgLen, TCHAR * ptszClientAddr, TCHAR * ptszFileName, TCHAR * ptszFileHash, __int64x * pInt_FileSize)
45+
{
46+
return m_ProtocolProxy.XStorageProtocol_Proxy_ParseNotify(lpszMsgBuffer, nMsgLen, ptszClientAddr, ptszFileName, ptszFileHash, pInt_FileSize);
47+
}
4448
/************************************************************************/
4549
/* 客户端协议操作导出函数 */
4650
/************************************************************************/

0 commit comments

Comments
 (0)