Skip to content

Commit a9e6946

Browse files
committed
modify:how to get ip address information
1 parent c279a9e commit a9e6946

8 files changed

Lines changed: 31 additions & 9 deletions

File tree

XEngine_Source/StorageModule_Protocol/Protocol_Packet/Protocol_P2XPPacket.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ BOOL CProtocol_P2XPPacket::Protocol_P2XPPacket_WLan(XENGINE_PROTOCOLHDR* pSt_Pro
298298
意思:是否成功
299299
备注:
300300
*********************************************************************/
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)
301+
BOOL CProtocol_P2XPPacket::Protocol_P2XPPacket_User(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, XENGINE_P2XPPEER_PROTOCOL* pSt_PeerInfo, XENGINE_IPADDRINFO* pSt_AddrInfo, TCHAR* ptszMsgBuffer, int* pInt_MsgLen)
302302
{
303303
Protocol_IsErrorOccur = FALSE;
304304

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, APIHELP_IPADDRINFO* pSt_AddrInfo, TCHAR* ptszMsgBuffer, int* pInt_MsgLen);
28+
BOOL Protocol_P2XPPacket_User(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, XENGINE_P2XPPEER_PROTOCOL* pSt_PeerInfo, XENGINE_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: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ extern "C" BOOL Protocol_P2XPPacket_WLan(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, l
387387
意思:是否成功
388388
备注:
389389
*********************************************************************/
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);
390+
extern "C" BOOL Protocol_P2XPPacket_User(XENGINE_PROTOCOLHDR * pSt_ProtocolHdr, XENGINE_P2XPPEER_PROTOCOL* pSt_PeerInfo, XENGINE_IPADDRINFO * pSt_AddrInfo, TCHAR* ptszMsgBuffer, int* pInt_Len);
391391
/********************************************************************
392392
函数名称:Protocol_P2XPPacket_Connect
393393
函数功能:请求连接打包函数

XEngine_Source/StorageModule_Protocol/pch.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ 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, APIHELP_IPADDRINFO * pSt_AddrInfo, TCHAR * ptszMsgBuffer, int* pInt_Len)
84+
extern "C" BOOL Protocol_P2XPPacket_User(XENGINE_PROTOCOLHDR * pSt_ProtocolHdr, XENGINE_P2XPPEER_PROTOCOL * pSt_PeerInfo, XENGINE_IPADDRINFO * pSt_AddrInfo, TCHAR * ptszMsgBuffer, int* pInt_Len)
8585
{
8686
return m_P2XPPacket.Protocol_P2XPPacket_User(pSt_ProtocolHdr, pSt_PeerInfo, pSt_AddrInfo, ptszMsgBuffer, pInt_Len);
8787
}

XEngine_Source/XEngine_StorageApp/StorageApp_P2XPNet.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,14 @@ BOOL XEngine_Task_TCPP2xp(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, LPCTSTR lpszClie
6363
return FALSE;
6464
}
6565
//获取外网IP所在位置
66-
APIHelp_NetWork_GetIPInfo(st_ClientPeer.st_PeerAddr.tszPublicAddr, &st_ClientPeer.st_IPAddrInfo);
66+
int nBLen = 0;
67+
TCHAR* ptszBody;
68+
TCHAR tszUrlBuffer[MAX_PATH];
69+
memset(tszUrlBuffer, '\0', MAX_PATH);
70+
71+
_stprintf(tszUrlBuffer, _T("http://app.xyry.org:5501/api?function=ipquery&params1=%s&params2=0"), st_ClientPeer.st_PeerAddr.tszPublicAddr);
72+
APIHelp_HttpRequest_Get(tszUrlBuffer, &ptszBody, &nBLen);
73+
APIHelp_Api_GetIPInfo(ptszBody, nBLen, &st_ClientPeer.st_IPAddrInfo);
6774
st_ClientPeer.st_PeerTimer.dwUserTime = time(NULL);
6875
st_ClientPeer.st_PeerTimer.dwKeepAlive = time(NULL);
6976
st_ClientPeer.bIsLogin = TRUE;

XEngine_Source/XEngine_StorageComponents/XStorage_P2XPPeer/P2XPPeer_Define.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +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地址信息
29+
XENGINE_IPADDRINFO st_IPAddrInfo; //IP地址信息
3030
BOOL bIsLogin;
3131
}XENGINE_P2XP_PEERINFO,*LPNETENGINE_P2XP_PEERINFO;
3232
//////////////////////////////////////////////////////////////////////////

XEngine_Source/XEngine_StorageComponents/XStorage_P2XPPeer/pch.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ 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>
3331
#include "../../XStorage_Protocol.h"
3432
#include "P2XPPeer_Define.h"
3533
#include "P2XPPeer_Error.h"

XEngine_Source/XStorage_Protocol.h

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@
3030
//////////////////////////////////////////////////////////////////////////
3131
// 协议结构体
3232
//////////////////////////////////////////////////////////////////////////
33+
#pragma pack(push)
34+
#pragma pack(1)
3335
//文件传输头文件,可用于P2XP文件传输和组包管理模块文件传输
3436
typedef struct tag_XEngine_Protocol_File
3537
{
@@ -58,4 +60,19 @@ typedef struct tag_XEngine_P2XPIO_Protocol
5860
CHAR tszConnectAddr[32]; //连接的IP地址
5961
int nDestPort; //要连接的端口
6062
BOOL bIsTcp; //连接类型TCP,否则为UDP
61-
}XENGINE_P2XPIO_PROTOCOL, * LPXENGINE_P2XPIO_PROTOCOL;
63+
}XENGINE_P2XPIO_PROTOCOL, * LPXENGINE_P2XPIO_PROTOCOL;
64+
//IP地址信息
65+
typedef struct
66+
{
67+
TCHAR tszIPStart[128];
68+
TCHAR tszIPEnd[128];
69+
TCHAR tszIPAddr[128]; //IP地址
70+
TCHAR tszIPCountry[128]; //国家/地区
71+
TCHAR tszIPProvince[128]; //省/自治区
72+
TCHAR tszIPCity[128]; //市
73+
TCHAR tszIPCounty[128]; //县
74+
TCHAR tszIPAddress[128]; //详细地址
75+
TCHAR tszIPISP[128]; //运营商
76+
TCHAR tszIPTime[128]; //数据库日期
77+
}XENGINE_IPADDRINFO;
78+
#pragma pack(pop)

0 commit comments

Comments
 (0)