@@ -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 ));
0 commit comments