Skip to content

Commit 9800fa4

Browse files
committed
fixed:broadcast processing error
1 parent 9a2471c commit 9800fa4

File tree

4 files changed

+26
-26
lines changed

4 files changed

+26
-26
lines changed

XEngine_Source/XEngine_StorageApp/StorageApp_Center.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ BOOL XEngine_Task_HttpCenter(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int
122122
{
123123
st_HDRParam.bAuth = TRUE;
124124
}
125-
XEngine_Task_P2p(pSt_HTTPParam->tszHttpUri, lpszClientAddr, pSt_HTTPParam);
125+
XEngine_Task_P2p(pSt_HTTPParam->tszHttpUri + 1, lpszClientAddr, pSt_HTTPParam);
126126
}
127127
else
128128
{

XEngine_Source/XEngine_StorageApp/Storage_APPTask/Storage_TaskP2p.cpp

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -4,38 +4,48 @@ XHTHREAD XEngine_Task_P2PThread()
44
{
55
TCHAR tszMsgBuffer[2048];
66
TCHAR tszIPAddr[128];
7+
TCHAR tszTimeStart[64];
8+
TCHAR tszTimeEnd[64];
79
TCHAR tszFileName[MAX_PATH];
810
TCHAR tszFileHash[MAX_PATH];
911

1012
while (bIsRun)
1113
{
1214
int nMsgLen = 2048;
1315
memset(tszMsgBuffer, '\0', sizeof(tszMsgBuffer));
16+
memset(tszIPAddr, '\0', sizeof(tszIPAddr));
17+
memset(tszTimeStart, '\0', sizeof(tszTimeStart));
18+
memset(tszTimeEnd, '\0', sizeof(tszTimeEnd));
1419
memset(tszFileName, '\0', MAX_PATH);
1520
memset(tszFileHash, '\0', MAX_PATH);
1621

1722
if (NetCore_BroadCast_Recv(hBroadSocket, tszMsgBuffer, &nMsgLen, tszIPAddr))
1823
{
1924
//收到文件查询请求
20-
if (XStorageProtocol_Core_REQQueryFile(tszMsgBuffer, NULL, NULL, tszFileName, tszFileHash))
25+
if (XStorageProtocol_Core_REQQueryFile(tszMsgBuffer, tszTimeStart, tszTimeEnd, tszFileName, tszFileHash))
2126
{
2227
//查询文件是否存在数据库,不存在不关心
2328
if (0 != st_ServiceCfg.st_XSql.nSQLType)
2429
{
25-
int nListCount;
30+
int nListCount = 0;
2631
XSTORAGECORE_DBFILE** pppSt_ListFile;
2732
if (1 == st_ServiceCfg.st_XSql.nSQLType)
2833
{
29-
XStorageSQL_File_FileQuery(&pppSt_ListFile, &nListCount, NULL, NULL, tszFileName, tszFileHash);
34+
XStorageSQL_File_FileQuery(&pppSt_ListFile, &nListCount, tszTimeStart, tszTimeEnd, tszFileName, tszFileHash);
3035
}
3136
else
3237
{
33-
XStorage_SQLite_FileQuery(&pppSt_ListFile, &nListCount, NULL, NULL, tszFileName, tszFileHash);
38+
XStorage_SQLite_FileQuery(&pppSt_ListFile, &nListCount, tszTimeStart, tszTimeEnd, tszFileName, tszFileHash);
3439
}
3540
if (nListCount > 0)
3641
{
37-
XStorageProtocol_Core_REPQueryFile(tszMsgBuffer, &nMsgLen, &pppSt_ListFile, nListCount);
42+
XStorageProtocol_Core_REPQueryFile(tszMsgBuffer, &nMsgLen, &pppSt_ListFile, nListCount, tszTimeStart, tszTimeEnd);
3843
BaseLib_OperatorMemory_Free((XPPPMEM)&pppSt_ListFile, nListCount);
44+
45+
SOCKET hSDSocket;
46+
NetCore_BroadCast_SendInit(&hSDSocket, st_ServiceCfg.st_P2xp.nSDPort, st_ServiceCfg.tszIPAddr);
47+
NetCore_BroadCast_Send(hSDSocket, tszMsgBuffer, nMsgLen);
48+
NetCore_BroadCast_Close(hSDSocket);
3949
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("广播端:%s,请求查询文件成功,列表个数:%d"), tszIPAddr, nListCount);
4050
}
4151
}
@@ -71,52 +81,42 @@ BOOL XEngine_Task_P2p(LPCTSTR lpszFileHash, LPCTSTR lpszClientAddr, RFCCOMPONENT
7181
}
7282
else
7383
{
74-
SOCKET hSDSocket;
7584
TCHAR tszIPAddr[128];
76-
7785
memset(tszIPAddr, '\0', sizeof(tszIPAddr));
7886
//开始广播请求文件
7987
XStorageProtocol_Client_REQQueryFile(tszSDBuffer, &nSDLen, NULL, lpszFileHash);
80-
if (!NetCore_BroadCast_SendInit(&hSDSocket, st_ServiceCfg.st_P2xp.nSDPort, st_ServiceCfg.tszIPAddr))
81-
{
82-
st_HDRParam.bIsClose = TRUE;
83-
st_HDRParam.nHttpCode = 500;
84-
85-
RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszMsgBuffer, &nMsgLen, &st_HDRParam);
86-
XEngine_Net_SendMsg(lpszClientAddr, tszMsgBuffer, nMsgLen, STORAGE_NETTYPE_HTTPCENTER);
87-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("广播端:%s,初始化广播请求失败,错误:%lX"), lpszClientAddr, NetCore_GetLastError());
88-
return FALSE;
89-
}
90-
if (NetCore_BroadCast_Send(hSDSocket, tszSDBuffer, nSDLen))
88+
if (!NetCore_BroadCast_Send(hBroadSocket, tszSDBuffer, nSDLen))
9189
{
9290
st_HDRParam.bIsClose = TRUE;
9391
st_HDRParam.nHttpCode = 500;
9492

9593
RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszMsgBuffer, &nMsgLen, &st_HDRParam);
9694
XEngine_Net_SendMsg(lpszClientAddr, tszMsgBuffer, nMsgLen, STORAGE_NETTYPE_HTTPCENTER);
9795
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("广播端:%s,发送广播请求失败,错误:%lX"), lpszClientAddr, NetCore_GetLastError());
98-
NetCore_BroadCast_Close(hSDSocket);
9996
return FALSE;
10097
}
101-
if (!NetCore_BroadCast_Recv(hSDSocket, tszRVBuffer, &nRVLen, tszIPAddr, 2000))
98+
99+
SOCKET hRVSocket;
100+
NetCore_BroadCast_RecvInit(&hRVSocket, st_ServiceCfg.st_P2xp.nSDPort);
101+
if (!NetCore_BroadCast_Recv(hRVSocket, tszRVBuffer, &nRVLen, tszIPAddr, 2000))
102102
{
103103
st_HDRParam.bIsClose = TRUE;
104104
st_HDRParam.nHttpCode = 404;
105105

106106
RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszMsgBuffer, &nMsgLen, &st_HDRParam);
107107
XEngine_Net_SendMsg(lpszClientAddr, tszMsgBuffer, nMsgLen, STORAGE_NETTYPE_HTTPCENTER);
108108
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("广播端:%s,发送广播请求失败,错误:%lX"), lpszClientAddr, NetCore_GetLastError());
109-
NetCore_BroadCast_Close(hSDSocket);
109+
NetCore_BroadCast_Close(hRVSocket);
110110
return FALSE;
111111
}
112+
NetCore_BroadCast_Close(hRVSocket);
113+
112114
st_HDRParam.bIsClose = TRUE;
113115
st_HDRParam.nHttpCode = 200;
114116

115117
RfcComponents_HttpServer_SendMsgEx(xhCenterHttp, tszMsgBuffer, &nMsgLen, &st_HDRParam, tszRVBuffer, nRVLen);
116118
XEngine_Net_SendMsg(lpszClientAddr, tszMsgBuffer, nMsgLen, STORAGE_NETTYPE_HTTPCENTER);
117-
NetCore_BroadCast_Close(hSDSocket);
118119
printf("%s\n", tszRVBuffer);
119120
}
120-
121121
return TRUE;
122122
}

XEngine_Source/XEngine_StorageApp/XEngine_StorageApp.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ int main(int argc, char** argv)
375375
}
376376
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("启动服务中,启动P2XP任务处理线程池成功,线程池个数:%d"), st_ServiceCfg.st_XMax.nP2XPThread);
377377

378-
if (!NetCore_BroadCast_RecvInit(&hBroadSocket, st_ServiceCfg.st_P2xp.nRVPort))
378+
if (!NetCore_BroadCast_SendInit(&hBroadSocket, st_ServiceCfg.st_P2xp.nRVPort, st_ServiceCfg.tszIPAddr))
379379
{
380380
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("启动服务中,启动广播网络服务失败,错误:%d"), errno);
381381
goto XENGINE_EXITAPP;

XEngine_Source/XEngine_StorageComponents/XStorage_Protocol/XStorageProtocol_Core/XStorageProtocol_Core.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ BOOL CXStorageProtocol_Core::XStorageProtocol_Core_REQQueryFile(LPCTSTR lpszMsgB
8989
}
9090
if (NULL != ptszTimeEnd)
9191
{
92-
if (!st_JsonRoot["lpszTimeEnd"].asCString())
92+
if (!st_JsonRoot["lpszTimeEnd"].isNull())
9393
{
9494
_tcscpy(ptszTimeEnd, st_JsonRoot["lpszTimeEnd"].asCString());
9595
}

0 commit comments

Comments
 (0)