Skip to content

Commit ed32e1f

Browse files
committed
support upload proxy for completion notification
improve the close code after upload and download
1 parent a4299e2 commit ed32e1f

File tree

5 files changed

+32
-8
lines changed

5 files changed

+32
-8
lines changed

XEngine_Release/XEngine_Config/XEngine_Config.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@
4747
"XProxyPass": {
4848
"bUPGet": 1,
4949
"bDLGet": 1,
50-
"tszUPPass": "http://192.168.1.9:5010/Api/Pass/upfile",
51-
"tszDLPass": "http://192.168.1.9:5010/Api/Pass/dlfile"
50+
"tszUPPass": "http://192.168.1.7:5200/Api/Pass/UPFile",
51+
"tszDLPass": "http://192.168.1.7:5200/Api/Pass/UPFile"
5252
}
5353
},
5454
"XLimit": {

XEngine_Source/XEngine_StorageApp/StorageApp_Center.cpp

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ BOOL XEngine_Task_HttpCenter(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int
104104

105105
LPCTSTR lpszEvent = _T("Event");
106106
LPCTSTR lpszQuery = _T("Query");
107-
LPCTSTR lpszNotify = _T("Notify");
107+
LPCTSTR lpszNotify = _T("Pass");
108108

109109
LPCTSTR lpszUPFile = _T("UPFile");
110110
LPCTSTR lpszDLFile = _T("DLFile");
@@ -114,7 +114,27 @@ BOOL XEngine_Task_HttpCenter(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int
114114
if (0 == _tcsnicmp(lpszNotify, tszAPIMethod, _tcslen(lpszNotify)))
115115
{
116116
//下载
117-
if (0 == _tcsnicmp(lpszDLFile, tszAPIName, _tcslen(lpszDLFile)))
117+
if (0 == _tcsnicmp(lpszUPFile, tszAPIName, _tcslen(lpszUPFile)))
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+
else if (0 == _tcsnicmp(lpszDLFile, tszAPIName, _tcslen(lpszDLFile)))
118138
{
119139
__int64x nFileSize = 0;
120140
TCHAR tszFileName[MAX_PATH];

XEngine_Source/XEngine_StorageApp/StorageApp_Download.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,10 +174,12 @@ BOOL XEngine_Task_HttpDownload(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, in
174174
st_HDRParam.st_Range.nPosEnd = nPosEnd;
175175
st_HDRParam.st_Range.nPosCount = ullCount;
176176
st_HDRParam.nHttpCode = 206;
177+
st_HDRParam.bIsClose = FALSE;
177178
}
178179
else
179180
{
180181
st_HDRParam.nHttpCode = 200;
182+
st_HDRParam.bIsClose = FALSE;
181183
}
182184
_tcscpy(st_HDRParam.tszMimeType, _T("bin"));
183185
RfcComponents_HttpServer_SendMsgEx(xhDLHttp, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, (int)ullSize);
@@ -188,6 +190,6 @@ BOOL XEngine_Task_HttpDownload(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, in
188190
BOOL XEngine_Task_SendDownload(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsgLen)
189191
{
190192
XEngine_Net_SendMsg(lpszClientAddr, lpszMsgBuffer, nMsgLen, STORAGE_NETTYPE_HTTPDOWNLOAD);
191-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("下载客户端:%s,正在发送文件数据,大小:%d"), lpszClientAddr, nMsgLen);
193+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _T("下载客户端:%s,正在发送文件数据,大小:%d"), lpszClientAddr, nMsgLen);
192194
return TRUE;
193195
}

XEngine_Source/XEngine_StorageApp/StorageApp_Network.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,15 +118,15 @@ BOOL XEngine_Net_SendMsg(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsg
118118
if (STORAGE_NETTYPE_HTTPDOWNLOAD == nType)
119119
{
120120
bRet = NetCore_TCPXCore_SendEx(xhNetDownload, lpszClientAddr, lpszMsgBuffer, nMsgLen);
121-
if (bRet)
121+
if (bRet && st_ServiceCfg.st_XTime.bHBTime)
122122
{
123123
SocketOpt_HeartBeat_ActiveAddrEx(xhHBDownload, lpszClientAddr);
124124
}
125125
}
126126
else if (STORAGE_NETTYPE_HTTPUPLOADER == nType)
127127
{
128128
bRet = NetCore_TCPXCore_SendEx(xhNetUPLoader, lpszClientAddr, lpszMsgBuffer, nMsgLen);
129-
if (bRet)
129+
if (bRet && st_ServiceCfg.st_XTime.bHBTime)
130130
{
131131
SocketOpt_HeartBeat_ActiveAddrEx(xhHBUPLoader, lpszClientAddr);
132132
}

XEngine_Source/XEngine_StorageApp/StorageApp_UPLoader.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,13 +150,15 @@ BOOL XEngine_Task_HttpUPLoader(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, in
150150
APIHelp_HttpRequest_Post(st_ServiceCfg.st_XProxy.st_XProxyPass.tszUPPass, tszProxyStr, &nHttpCode);
151151
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_NOTICE, _T("上传客户端:%s,请求完成通知返回值:%d,文件:%s,地址:%s"), lpszClientAddr, nHttpCode, st_StorageInfo.tszFileDir, st_ServiceCfg.st_XProxy.st_XProxyPass.tszUPPass);
152152
}
153+
st_HDRParam.bIsClose = FALSE;
153154
st_HDRParam.nHttpCode = 200;
154155
RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam);
155156
XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER);
156157
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("上传客户端:%s,请求上传文件成功,文件名:%s,大小:%d"), lpszClientAddr, tszFileDir, nRVCount);
157158
}
158159
else
159160
{
161+
st_HDRParam.bIsClose = FALSE;
160162
st_HDRParam.nHttpCode = 403;
161163
RfcComponents_HttpServer_SendMsgEx(xhUPHttp, tszSDBuffer, &nSDLen, &st_HDRParam);
162164
XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_HTTPUPLOADER);
@@ -171,7 +173,7 @@ BOOL XEngine_Task_HttpUPLoader(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, in
171173
}
172174
else
173175
{
174-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("上传客户端:%s,请求上传文件中,文件名:%s,大小:%d"), lpszClientAddr, tszFileDir, nMsgLen);
176+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _T("上传客户端:%s,请求上传文件中,文件名:%s,大小:%d"), lpszClientAddr, tszFileDir, nMsgLen);
175177
}
176178

177179
return TRUE;

0 commit comments

Comments
 (0)