Skip to content

Commit d083443

Browse files
committed
modify:p2xp does not use connect address as a key.
1 parent c00716d commit d083443

File tree

4 files changed

+14
-14
lines changed

4 files changed

+14
-14
lines changed

XEngine_Source/XEngine_BuildSwitch.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@
1313
//////////////////////////////////////////////////////////////////////////
1414
// 自定义编译头开关
1515
//////////////////////////////////////////////////////////////////////////
16-
#define _XENGINE_BUILD_SWITCH_OPENCV 0 //1 打开OPENCV支持
17-
#define _XENGINE_BUILD_SWITCH_QRDECODEC 0 //1 打开二维码识别
16+
#define _XENGINE_BUILD_SWITCH_OPENCV 1 //1 打开OPENCV支持
17+
#define _XENGINE_BUILD_SWITCH_QRDECODEC 1 //1 打开二维码识别

XEngine_Source/XEngine_ModuleHelp/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ RELEASE = 0
88
UNICODE = 0
99
LOADHDR = -I ./ -I /usr/include/opencv4
1010
LOADSO = -L /usr/local/lib/XEngine_Release/XEngine_BaseLib -L /usr/local/lib/XEngine_Release/XEngine_Client
11-
LIB = -lXEngine_BaseLib -lXClient_Socket -lopencc -lqrencode -llzma -lpng16 -lopencv_core -lopencv_imgcodecs -lopencv_imgproc -ltiff
11+
LIB = -lXEngine_BaseLib -lXClient_Socket -lopencc -lqrencode -llzma -lpng16 -lopencv_core -lopencv_imgcodecs -lopencv_imgproc -ltiff -lopencv_wechat_qrcode
1212
LIBEX =
1313
OBJECTS = ModuleHelp_IDCard.o ModuleHelp_Language.o ModuleHelp_P2PClient.o ModuleHelp_Locker.o ModuleHelp_QRCode.o ModuleHelp_SocketTest.o ModuleHelp_ImageGet.o ModuleHelp_ImageSet.o pch.o
1414

XEngine_Source/XEngine_ModuleHelp/ModuleHelp_P2PClient/ModuleHelp_P2PClient.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ bool CModuleHelp_P2PClient::ModuleHelp_P2PClient_Add(XENGINE_P2XP_PEERINFO* pSt_
106106
{
107107
//没有找到,一个一个加入,首先加入私有同步网络
108108
unordered_map<string, XENGINE_P2XP_PEERINFO> stl_MapPrivate;
109-
stl_MapPrivate.insert(make_pair(pSt_PeerInfo->st_PeerAddr.tszConnectAddr, *pSt_PeerInfo));
109+
stl_MapPrivate.insert(make_pair(pSt_PeerInfo->st_PeerAddr.tszPrivateAddr, *pSt_PeerInfo));
110110
//获取私有网络的路由地址
111111
XENGINE_LIBADDR st_LibAddr;
112112
XCHAR tszPrivateAddr[64];
@@ -150,18 +150,18 @@ bool CModuleHelp_P2PClient::ModuleHelp_P2PClient_Add(XENGINE_P2XP_PEERINFO* pSt_
150150
{
151151
//没有私网地址
152152
unordered_map<string, XENGINE_P2XP_PEERINFO> stl_MapPrivate;
153-
stl_MapPrivate.insert(make_pair(pSt_PeerInfo->st_PeerAddr.tszConnectAddr, *pSt_PeerInfo));
153+
stl_MapPrivate.insert(make_pair(pSt_PeerInfo->st_PeerAddr.tszPrivateAddr, *pSt_PeerInfo));
154154

155155
stl_MapIteratorAddr->second.insert(make_pair(tszPrivateAddr, stl_MapPrivate));
156156
}
157157
else
158158
{
159159
//查找链接地址是否存在.存在表示已经加入过了,那么就什么都不做
160-
unordered_map<string, XENGINE_P2XP_PEERINFO>::iterator stl_MapConnIterator = stl_MapPriIteartor->second.find(pSt_PeerInfo->st_PeerAddr.tszConnectAddr);
161-
if (stl_MapConnIterator == stl_MapPriIteartor->second.find(pSt_PeerInfo->st_PeerAddr.tszConnectAddr))
160+
unordered_map<string, XENGINE_P2XP_PEERINFO>::iterator stl_MapConnIterator = stl_MapPriIteartor->second.find(pSt_PeerInfo->st_PeerAddr.tszPrivateAddr);
161+
if (stl_MapConnIterator == stl_MapPriIteartor->second.find(pSt_PeerInfo->st_PeerAddr.tszPrivateAddr))
162162
{
163163
//没有找到就加入
164-
stl_MapPriIteartor->second.insert(make_pair(pSt_PeerInfo->st_PeerAddr.tszConnectAddr, *pSt_PeerInfo));
164+
stl_MapPriIteartor->second.insert(make_pair(pSt_PeerInfo->st_PeerAddr.tszPrivateAddr, *pSt_PeerInfo));
165165
}
166166
}
167167
}
@@ -402,7 +402,7 @@ bool CModuleHelp_P2PClient::ModuleHelp_P2PClient_Delete(XENGINE_P2XPPEER_PROTOCO
402402
if (stl_MapPriIterator != stl_MapPubIteartor->second.end())
403403
{
404404
//查找局域网自身的IP地址是否存在
405-
unordered_map<string, XENGINE_P2XP_PEERINFO>::iterator stl_MapConnIterator = stl_MapPriIterator->second.find(pSt_P2PProtocol->tszConnectAddr);
405+
unordered_map<string, XENGINE_P2XP_PEERINFO>::iterator stl_MapConnIterator = stl_MapPriIterator->second.find(pSt_P2PProtocol->tszUserName);
406406
if (stl_MapConnIterator != stl_MapPriIterator->second.end())
407407
{
408408
//找到了删除
@@ -491,7 +491,7 @@ bool CModuleHelp_P2PClient::ModuleHelp_P2PClient_Heart(XENGINE_P2XPPEER_PROTOCOL
491491
st_Locker.unlock_shared();
492492
return false;
493493
}
494-
unordered_map<string, XENGINE_P2XP_PEERINFO>::iterator stl_MapConnIterator = stl_MapPriIterator->second.find(pSt_P2PProtocol->tszConnectAddr);
494+
unordered_map<string, XENGINE_P2XP_PEERINFO>::iterator stl_MapConnIterator = stl_MapPriIterator->second.find(pSt_P2PProtocol->tszPrivateAddr);
495495
if (stl_MapConnIterator == stl_MapPriIterator->second.end())
496496
{
497497
ModuleHelp_IsErrorOccur = true;
@@ -536,8 +536,8 @@ XHTHREAD CALLBACK CModuleHelp_P2PClient::ModuleHelp_P2PClient_Thread(XPVOID lPar
536536

537537
for (auto stl_ListIterator = stl_ListRemove.begin(); stl_ListIterator != stl_ListRemove.end(); stl_ListIterator++)
538538
{
539-
pClass_This->ModuleHelp_P2PClient_Delete((XENGINE_P2XPPEER_PROTOCOL*) & stl_ListIterator);
540-
pClass_This->lpCall_P2PClient((XENGINE_P2XPPEER_PROTOCOL*)&stl_ListIterator, pClass_This->m_lParam);
539+
pClass_This->lpCall_P2PClient((XENGINE_P2XPPEER_PROTOCOL*)&stl_ListIterator->st_PeerAddr, pClass_This->m_lParam);
540+
pClass_This->ModuleHelp_P2PClient_Delete((XENGINE_P2XPPEER_PROTOCOL*) &stl_ListIterator->st_PeerAddr);
541541
}
542542
stl_ListRemove.clear();
543543
std::this_thread::sleep_for(std::chrono::seconds(1));

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_P2PClient.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
void CALLBACK HTTPTask_TastPost_P2PCallback(XENGINE_P2XPPEER_PROTOCOL* pSt_P2PProtocol, XPVOID lParam)
44
{
5-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端:公网:%s,私网:%s,连接:%s P2P离开"), pSt_P2PProtocol->tszPublicAddr, pSt_P2PProtocol->tszPrivateAddr, pSt_P2PProtocol->tszConnectAddr);
5+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP客户端,公网:%s,私网:%s,连接:%s,P2XP心跳离开"), pSt_P2PProtocol->tszPublicAddr, pSt_P2PProtocol->tszPrivateAddr, pSt_P2PProtocol->tszConnectAddr);
66
}
77
bool HTTPTask_TastPost_P2PClient(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, int unOperatorCode)
88
{
@@ -71,7 +71,7 @@ bool HTTPTask_TastPost_P2PClient(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer,
7171
ModuleProtocol_Packet_Common(tszRVBuffer, &nRVLen);
7272
HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen);
7373
XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen);
74-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,P2P请求删除列表成功,删除地址:%s"), lpszClientAddr, st_P2PProtocol.tszConnectAddr);
74+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,P2P请求删除列表成功,删除地址:%s"), lpszClientAddr, st_P2PProtocol.tszPrivateAddr);
7575
}
7676
else if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_P2XP_REQLANLIST == unOperatorCode)
7777
{

0 commit comments

Comments
 (0)