@@ -227,16 +227,35 @@ BOOL XEngine_Task_TCPP2xp(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, LPCTSTR lpszClie
227227 memset (tszTimeEnd, ' \0 ' , MAX_PATH);
228228 memset (tszFileName, ' \0 ' , MAX_PATH);
229229 memset (tszFileHash, ' \0 ' , MAX_PATH);
230-
230+ // 用于验证协议是否正确
231231 if (!Protocol_StorageParse_QueryFile (lpszMsgBuffer, tszTimeStart, tszTimeEnd, tszFileName, tszFileHash))
232232 {
233233 Protocol_P2XPPacket_Common (pSt_ProtocolHdr, tszSDBuffer, &nSDLen, 400 , " 协议错误" );
234234 XEngine_Net_SendMsg (lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_TCPP2XP);
235235 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T (" P2XP客户端:%s,查询文件失败,解析协议失败,错误码:%lX" ), lpszClientAddr, P2XPPeer_GetLastError ());
236236 return FALSE ;
237237 }
238+ // 确认
239+ pSt_ProtocolHdr->unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_STORAGE_REPQUERY;
240+ Protocol_P2XPPacket_Common (pSt_ProtocolHdr, tszSDBuffer, &nSDLen);
238241 XEngine_Net_SendMsg (lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_TCPP2XP);
239- XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T (" 客户端:%s,请求查询用户" ), lpszClientAddr);
242+ // 通知
243+ int nListCount = 0 ;
244+ TCHAR** pppszP2XPClient;
245+ P2XPPeer_Manage_GetAllList (&pppszP2XPClient, &nListCount);
246+ pSt_ProtocolHdr->unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_STORAGE_REQQUERY;
247+ for (int i = 0 ; i < nListCount; i++)
248+ {
249+ // 过滤自己
250+ if (0 == _tcsncmp (lpszClientAddr, pppszP2XPClient[i], _tcslen (lpszClientAddr)))
251+ {
252+ continue ;
253+ }
254+ XEngine_Net_SendMsg (pppszP2XPClient[i], (LPCTSTR)pSt_ProtocolHdr, sizeof (XENGINE_PROTOCOLHDR), STORAGE_NETTYPE_TCPP2XP);
255+ XEngine_Net_SendMsg (pppszP2XPClient[i], lpszMsgBuffer, nMsgLen, STORAGE_NETTYPE_TCPP2XP);
256+ }
257+ XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T (" 客户端:%s,请求查询文件:%s,用户个数:%d" ), lpszClientAddr, tszFileName, tszFileHash, nListCount--);
258+ BaseLib_OperatorMemory_Free ((XPPPMEM)&pppszP2XPClient, nListCount);
240259 }
241260 else
242261 {
0 commit comments