Skip to content

Commit 52444c6

Browse files
committed
modify:Expanded ip address information
1 parent 325eb7a commit 52444c6

File tree

9 files changed

+35
-21
lines changed

9 files changed

+35
-21
lines changed

XEngine_Source/StorageModule_Protocol/Protocol_Packet/Protocol_P2XPPacket.cpp

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -278,12 +278,17 @@ BOOL CProtocol_P2XPPacket::Protocol_P2XPPacket_WLan(XENGINE_PROTOCOLHDR* pSt_Pro
278278
类型:数据结构指针
279279
可空:N
280280
意思:输入获取到的用户信息
281-
参数.三:ptszMsgBuffer
281+
参数.三:pSt_AddrInfo
282+
In/Out:In
283+
类型:数据结构指针
284+
可空:N
285+
意思:IP地址信息
286+
参数.四:ptszMsgBuffer
282287
In/Out:Out
283288
类型:字符指针
284289
可空:N
285290
意思:导出封装好的缓冲区
286-
参数.:pInt_MsgLen
291+
参数.:pInt_MsgLen
287292
In/Out:In/Out
288293
类型:整数型指针
289294
可空:N
@@ -293,7 +298,7 @@ BOOL CProtocol_P2XPPacket::Protocol_P2XPPacket_WLan(XENGINE_PROTOCOLHDR* pSt_Pro
293298
意思:是否成功
294299
备注:
295300
*********************************************************************/
296-
BOOL CProtocol_P2XPPacket::Protocol_P2XPPacket_User(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, XENGINE_P2XPPEER_PROTOCOL* pSt_PeerInfo, TCHAR* ptszMsgBuffer, int* pInt_MsgLen)
301+
BOOL CProtocol_P2XPPacket::Protocol_P2XPPacket_User(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, XENGINE_P2XPPEER_PROTOCOL* pSt_PeerInfo, APIHELP_IPADDRINFO* pSt_AddrInfo, TCHAR* ptszMsgBuffer, int* pInt_MsgLen)
297302
{
298303
Protocol_IsErrorOccur = FALSE;
299304

@@ -304,6 +309,7 @@ BOOL CProtocol_P2XPPacket::Protocol_P2XPPacket_User(XENGINE_PROTOCOLHDR* pSt_Pro
304309
return FALSE;
305310
}
306311
Json::Value st_JsonRoot;
312+
Json::Value st_JsonAddr;
307313
Json::StreamWriterBuilder st_JsonBuilder;
308314

309315
st_JsonRoot["Code"] = 0;
@@ -313,10 +319,16 @@ BOOL CProtocol_P2XPPacket::Protocol_P2XPPacket_User(XENGINE_PROTOCOLHDR* pSt_Pro
313319
st_JsonRoot["tszConnectAddr"] = pSt_PeerInfo->tszConnectAddr;
314320
st_JsonRoot["tszPrivateAddr"] = pSt_PeerInfo->tszPrivateAddr;
315321
st_JsonRoot["tszPublicAddr"] = pSt_PeerInfo->tszPublicAddr;
316-
st_JsonRoot["tszUserISP"] = pSt_PeerInfo->tszUserISP;
317-
st_JsonRoot["tszUserLocation"] = pSt_PeerInfo->tszUserLocation;
318322
st_JsonRoot["tszUserName"] = pSt_PeerInfo->tszUserName;
319323

324+
st_JsonAddr["tszIPCountry"] = pSt_AddrInfo->tszIPCountry;
325+
st_JsonAddr["tszIPProvince"] = pSt_AddrInfo->tszIPProvince;
326+
st_JsonAddr["tszIPCity"] = pSt_AddrInfo->tszIPCity;
327+
st_JsonAddr["tszIPCounty"] = pSt_AddrInfo->tszIPCounty;
328+
st_JsonAddr["tszIPISP"] = pSt_AddrInfo->tszIPISP;
329+
330+
st_JsonRoot["st_AddrInfo"] = st_JsonAddr;
331+
320332
st_JsonBuilder["emitUTF8"] = true;
321333
if (NULL == pSt_ProtocolHdr)
322334
{

XEngine_Source/StorageModule_Protocol/Protocol_Packet/Protocol_P2XPPacket.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ class CProtocol_P2XPPacket
2525
BOOL Protocol_P2XPPacket_Common(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, TCHAR* ptszMsgBuffer, int* pInt_MsgLen, int nCode = 0, LPCTSTR lpszMsgBuffer = NULL);
2626
BOOL Protocol_P2XPPacket_Lan(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, XENGINE_P2XPPEER_PROTOCOL*** pppSt_ListClients, int nListCount, TCHAR* ptszMsgBuffer, int* pInt_MsgLen);
2727
BOOL Protocol_P2XPPacket_WLan(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, list<XENGINE_P2XPPEER_PROTOCOL>* pStl_ListClients, TCHAR* ptszMsgBuffer, int* pInt_MsgLen);
28-
BOOL Protocol_P2XPPacket_User(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, XENGINE_P2XPPEER_PROTOCOL* pSt_PeerInfo, TCHAR* ptszMsgBuffer, int* pInt_MsgLen);
28+
BOOL Protocol_P2XPPacket_User(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, XENGINE_P2XPPEER_PROTOCOL* pSt_PeerInfo, APIHELP_IPADDRINFO* pSt_AddrInfo, TCHAR* ptszMsgBuffer, int* pInt_MsgLen);
2929
BOOL Protocol_P2XPPacket_Connect(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, XENGINE_P2XPIO_PROTOCOL* pSt_IOProtocol, TCHAR* ptszMsgBuffer, int* pInt_MsgLen);
3030
BOOL Protocol_P2XPPacket_QueryFile(TCHAR* ptszMsgBuffer, int* pInt_MsgLen, LPCTSTR lpszFileName = NULL, LPCTSTR lpszFileHash = NULL);
3131
protected:

XEngine_Source/StorageModule_Protocol/StorageProtocol_Define.h

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -367,12 +367,17 @@ extern "C" BOOL Protocol_P2XPPacket_WLan(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, l
367367
类型:数据结构指针
368368
可空:N
369369
意思:输入获取到的用户信息
370-
参数.三:ptszMsgBuffer
370+
参数.三:pSt_AddrInfo
371+
In/Out:In
372+
类型:数据结构指针
373+
可空:N
374+
意思:IP地址信息
375+
参数.四:ptszMsgBuffer
371376
In/Out:Out
372377
类型:字符指针
373378
可空:N
374379
意思:导出封装好的缓冲区
375-
参数.:pInt_MsgLen
380+
参数.:pInt_MsgLen
376381
In/Out:In/Out
377382
类型:整数型指针
378383
可空:N
@@ -382,7 +387,7 @@ extern "C" BOOL Protocol_P2XPPacket_WLan(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, l
382387
意思:是否成功
383388
备注:
384389
*********************************************************************/
385-
extern "C" BOOL Protocol_P2XPPacket_User(XENGINE_PROTOCOLHDR * pSt_ProtocolHdr, XENGINE_P2XPPEER_PROTOCOL* pSt_PeerInfo, TCHAR* ptszMsgBuffer, int* pInt_Len);
390+
extern "C" BOOL Protocol_P2XPPacket_User(XENGINE_PROTOCOLHDR * pSt_ProtocolHdr, XENGINE_P2XPPEER_PROTOCOL* pSt_PeerInfo, APIHELP_IPADDRINFO * pSt_AddrInfo, TCHAR* ptszMsgBuffer, int* pInt_Len);
386391
/********************************************************************
387392
函数名称:Protocol_P2XPPacket_Connect
388393
函数功能:请求连接打包函数

XEngine_Source/StorageModule_Protocol/pch.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,9 @@ extern "C" BOOL Protocol_P2XPPacket_WLan(XENGINE_PROTOCOLHDR * pSt_ProtocolHdr,
8181
{
8282
return m_P2XPPacket.Protocol_P2XPPacket_WLan(pSt_ProtocolHdr, pStl_ListClients, ptszMsgBuffer, pInt_MsgLen);
8383
}
84-
extern "C" BOOL Protocol_P2XPPacket_User(XENGINE_PROTOCOLHDR * pSt_ProtocolHdr, XENGINE_P2XPPEER_PROTOCOL * pSt_PeerInfo, TCHAR * ptszMsgBuffer, int* pInt_Len)
84+
extern "C" BOOL Protocol_P2XPPacket_User(XENGINE_PROTOCOLHDR * pSt_ProtocolHdr, XENGINE_P2XPPEER_PROTOCOL * pSt_PeerInfo, APIHELP_IPADDRINFO * pSt_AddrInfo, TCHAR * ptszMsgBuffer, int* pInt_Len)
8585
{
86-
return m_P2XPPacket.Protocol_P2XPPacket_User(pSt_ProtocolHdr, pSt_PeerInfo, ptszMsgBuffer, pInt_Len);
86+
return m_P2XPPacket.Protocol_P2XPPacket_User(pSt_ProtocolHdr, pSt_PeerInfo, pSt_AddrInfo, ptszMsgBuffer, pInt_Len);
8787
}
8888
extern "C" BOOL Protocol_P2XPPacket_Connect(XENGINE_PROTOCOLHDR * pSt_ProtocolHdr, XENGINE_P2XPIO_PROTOCOL * pSt_IOProtocol, TCHAR * ptszMsgBuffer, int* pInt_MsgLen)
8989
{

XEngine_Source/StorageModule_Protocol/pch.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ using namespace std;
3535
#include <XEngine_Include/XEngine_BaseLib/BaseLib_Error.h>
3636
#include <XEngine_Include/XEngine_HelpComponents/DataBase_Define.h>
3737
#include <XEngine_Include/XEngine_HelpComponents/DataBase_Error.h>
38+
#include <XEngine_Include/XEngine_NetHelp/APIHelp_Define.h>
39+
#include <XEngine_Include/XEngine_NetHelp/APIHelp_Error.h>
3840
#include "../XStorage_Protocol.h"
3941
#include "../StorageModule_Session/Session_Define.h"
4042
#include "../XEngine_StorageComponents/XStorage_SQLPacket/SQLPacket_Define.h"

XEngine_Source/XEngine_StorageApp/StorageApp_P2XPNet.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,7 @@ BOOL XEngine_Task_TCPP2xp(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, LPCTSTR lpszClie
6363
return FALSE;
6464
}
6565
//获取外网IP所在位置
66-
APIHELP_IPADDRINFO st_IPInfo;
67-
memset(&st_IPInfo, '\0', sizeof(APIHELP_IPADDRINFO));
68-
69-
APIHelp_NetWork_GetIPInfo(st_ClientPeer.st_PeerAddr.tszPublicAddr, &st_IPInfo);
70-
71-
_tcscpy(st_ClientPeer.st_PeerAddr.tszUserLocation, st_IPInfo.tszIPProvince);
72-
_tcscpy(st_ClientPeer.st_PeerAddr.tszUserISP, st_IPInfo.tszIPISP);
66+
APIHelp_NetWork_GetIPInfo(st_ClientPeer.st_PeerAddr.tszPublicAddr, &st_ClientPeer.st_IPAddrInfo);
7367
st_ClientPeer.st_PeerTimer.dwUserTime = time(NULL);
7468
st_ClientPeer.st_PeerTimer.dwKeepAlive = time(NULL);
7569
st_ClientPeer.bIsLogin = TRUE;
@@ -205,7 +199,7 @@ BOOL XEngine_Task_TCPP2xp(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, LPCTSTR lpszClie
205199
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("P2XP客户端:%s,查询用户失败,获取用户失败,用户名:%s,错误码:%lX"), lpszClientAddr, tszUserName, P2XPPeer_GetLastError());
206200
return FALSE;
207201
}
208-
Protocol_P2XPPacket_User(pSt_ProtocolHdr, &st_PeerInfo.st_PeerAddr, tszSDBuffer, &nSDLen);
202+
Protocol_P2XPPacket_User(pSt_ProtocolHdr, &st_PeerInfo.st_PeerAddr, &st_PeerInfo.st_IPAddrInfo, tszSDBuffer, &nSDLen);
209203
XEngine_Net_SendMsg(lpszClientAddr, tszSDBuffer, nSDLen, STORAGE_NETTYPE_TCPP2XP);
210204
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T("客户端:%s,请求查询用户:%s 成功"), lpszClientAddr, tszUserName);
211205
}

XEngine_Source/XEngine_StorageComponents/XStorage_P2XPPeer/P2XPPeer_Define.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ typedef struct tag_NetEngine_P2XPPeer_Info
2626
{
2727
XENGINE_P2XPPEER_PROTOCOL st_PeerAddr; //P2P通信的时候使用的地址(客户方使用)
2828
P2XP_TIMER_INFOMATION st_PeerTimer; //节点时间信息
29+
APIHELP_IPADDRINFO st_IPAddrInfo; //IP地址信息
2930
BOOL bIsLogin;
3031
}XENGINE_P2XP_PEERINFO,*LPNETENGINE_P2XP_PEERINFO;
3132
//////////////////////////////////////////////////////////////////////////

XEngine_Source/XEngine_StorageComponents/XStorage_P2XPPeer/pch.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ using namespace std;
2828
#include <XEngine_Include/XEngine_ProtocolHdr.h>
2929
#include <XEngine_Include/XEngine_BaseLib/BaseLib_Define.h>
3030
#include <XEngine_Include/XEngine_BaseLib/BaseLib_Error.h>
31+
#include <XEngine_Include/XEngine_NetHelp/APIHelp_Define.h>
32+
#include <XEngine_Include/XEngine_NetHelp/APIHelp_Error.h>
3133
#include "../../XStorage_Protocol.h"
3234
#include "P2XPPeer_Define.h"
3335
#include "P2XPPeer_Error.h"

XEngine_Source/XStorage_Protocol.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,6 @@ typedef struct tag_XEngine_P2XPPeer_Protocol
4747
CHAR tszPrivateAddr[32]; //私有本地地址,内网地址
4848
CHAR tszPublicAddr[32]; //外网地址
4949
CHAR tszConnectAddr[32]; //链接地址
50-
CHAR tszUserLocation[32]; //位置信息
51-
CHAR tszUserISP[20]; //用户ISP
5250
WORD dwConnectType; //连接类型
5351
WORD dwPeerType; //节点类型
5452
}XENGINE_P2XPPEER_PROTOCOL, * LPXENGINE_P2XPPEER_PROTOCOL;

0 commit comments

Comments
 (0)