Skip to content

Commit f8cda97

Browse files
committed
modify:after login in,get message through get method of http
1 parent 5ccc160 commit f8cda97

File tree

3 files changed

+58
-12
lines changed

3 files changed

+58
-12
lines changed

XEngine_Source/VSCopy_Debug.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_Packets.dll" "./"
1111
copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_XLog.dll" "./"
1212
copy /y "D:\XEngine\XEngine_SourceCode\Debug\HelpComponents_DataBase.dll" "./"
1313

14-
copy /y "D:\XEngine\XEngine_SourceCode\Debug\RfcComponents_HttpServer.dll" "./"
14+
copy /y "D:\XEngine\XEngine_SourceCode\Debug\RfcComponents_HttpProtocol.dll" "./"
1515
copy /y "D:\XEngine\XEngine_SourceCode\Debug\RfcComponents_WSProtocol.dll" "./"

XEngine_Source/XEngine_MQServiceApp/MQService_HttpTask.cpp

Lines changed: 48 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,9 @@ XHTHREAD CALLBACK MessageQueue_HttpThread(XPVOID lParam)
4040
}
4141
bool MessageQueue_Http_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, XCHAR** pptszListHdr, int nHdrCount)
4242
{
43-
LPCXSTR lpszMethod = _X("POST");
44-
if (0 == _tcsxnicmp(lpszMethod, pSt_HTTPParam->tszHttpMethod, _tcsxlen(lpszMethod)))
43+
LPCXSTR lpszPostMethod = _X("POST");
44+
LPCXSTR lpszGetMethod = _X("GET");
45+
if (0 == _tcsxnicmp(lpszPostMethod, pSt_HTTPParam->tszHttpMethod, _tcsxlen(lpszPostMethod)))
4546
{
4647
int nPLen = 0;
4748
XCHAR tszMsgBuffer[4096];
@@ -53,6 +54,51 @@ bool MessageQueue_Http_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam, LPCXST
5354
ProtocolModule_Parse_Http(lpszMsgBuffer, nMsgLen, &st_ProtocolHdr, tszMsgBuffer, &nPLen);
5455
MessageQueue_TCP_Handle(&st_ProtocolHdr, lpszClientAddr, tszMsgBuffer, nPLen, XENGINE_MQAPP_NETTYPE_HTTP);
5556
}
57+
else if (0 == _tcsxnicmp(lpszGetMethod, pSt_HTTPParam->tszHttpMethod, _tcsxlen(lpszGetMethod)))
58+
{
59+
//http://127.0.0.1:5201/api?function=get&token=112&key=xengine&serial=1
60+
HttpProtocol_ServerHelp_GetParament(pSt_HTTPParam->tszHttpUri, &pptszListHdr, &nHdrCount);
61+
if (4 != nHdrCount)
62+
{
63+
int nPKTLen = 8196;
64+
XCHAR tszPKTBuffer[8196];
65+
RFCCOMPONENTS_HTTP_HDRPARAM st_HTTPHdr;
66+
67+
memset(tszPKTBuffer, '\0', sizeof(tszPKTBuffer));
68+
memset(&st_HTTPHdr, '\0', sizeof(RFCCOMPONENTS_HTTP_HDRPARAM));
69+
70+
st_HTTPHdr.nHttpCode = 400;
71+
st_HTTPHdr.bIsClose = true;
72+
73+
HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszPKTBuffer, &nPKTLen, &st_HTTPHdr);
74+
NetCore_TCPXCore_SendEx(xhHTTPSocket, lpszClientAddr, tszPKTBuffer, nPKTLen);
75+
return false;
76+
}
77+
XCHAR tszKey[128];
78+
XCHAR tszValue[128];
79+
XENGINE_PROTOCOLHDR st_ProtocolHdr;
80+
XENGINE_PROTOCOL_XMQ st_MQProtocol;
81+
82+
memset(tszKey, '\0', sizeof(tszKey));
83+
memset(tszValue, '\0', sizeof(tszValue));
84+
memset(&st_ProtocolHdr, '\0', sizeof(XENGINE_PROTOCOLHDR));
85+
memset(&st_MQProtocol, '\0', sizeof(XENGINE_PROTOCOL_XMQ));
86+
87+
BaseLib_OperatorString_GetKeyValue(pptszListHdr[1], "=", tszKey, tszValue);
88+
89+
st_ProtocolHdr.xhToken = _ttxoll(tszValue);
90+
st_ProtocolHdr.wHeader = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_HEADER;
91+
st_ProtocolHdr.unOperatorType = ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_XMQ;
92+
st_ProtocolHdr.unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQGET;
93+
st_ProtocolHdr.xhToken = sizeof(XENGINE_PROTOCOL_XMQ);
94+
st_ProtocolHdr.wTail = XENGIEN_COMMUNICATION_PACKET_PROTOCOL_TAIL;
95+
96+
BaseLib_OperatorString_GetKeyValue(pptszListHdr[2], "=", tszKey, st_MQProtocol.tszMQKey);
97+
BaseLib_OperatorString_GetKeyValue(pptszListHdr[3], "=", tszKey, tszValue);
98+
st_MQProtocol.nSerial = _ttxoll(tszValue);
99+
100+
MessageQueue_TCP_Handle(&st_ProtocolHdr, lpszClientAddr, (LPCXSTR)&st_MQProtocol, sizeof(XENGINE_PROTOCOL_XMQ), XENGINE_MQAPP_NETTYPE_HTTP);
101+
}
56102
else
57103
{
58104
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_WARN, _X("HTTP消息端:%s,协议错误"), lpszClientAddr);

XEngine_Source/XEngine_MQServiceApp/MQService_Net.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -145,18 +145,18 @@ bool XEngine_MQXService_Send(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int
145145
}
146146
else if (XENGINE_MQAPP_NETTYPE_HTTP == nIPProto)
147147
{
148-
int nPKTLen = 8196;
149-
XCHAR tszPKTBuffer[8196];
150-
RFCCOMPONENTS_HTTP_HDRPARAM st_HTTPHdr;
148+
int nPKTLen = 8196;
149+
XCHAR tszPKTBuffer[8196];
150+
RFCCOMPONENTS_HTTP_HDRPARAM st_HTTPHdr;
151151

152-
memset(tszPKTBuffer, '\0', sizeof(tszPKTBuffer));
153-
memset(&st_HTTPHdr, '\0', sizeof(RFCCOMPONENTS_HTTP_HDRPARAM));
152+
memset(tszPKTBuffer, '\0', sizeof(tszPKTBuffer));
153+
memset(&st_HTTPHdr, '\0', sizeof(RFCCOMPONENTS_HTTP_HDRPARAM));
154154

155-
st_HTTPHdr.nHttpCode = 200;
156-
st_HTTPHdr.bIsClose = true;
157-
_tcsxcpy(st_HTTPHdr.tszMimeType, _X("json"));
155+
st_HTTPHdr.nHttpCode = 200;
156+
st_HTTPHdr.bIsClose = true;
157+
_tcsxcpy(st_HTTPHdr.tszMimeType, _X("json"));
158158

159-
HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszPKTBuffer, &nPKTLen, &st_HTTPHdr, lpszMsgBuffer, nMsgLen);
159+
HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszPKTBuffer, &nPKTLen, &st_HTTPHdr, lpszMsgBuffer, nMsgLen);
160160
if (!NetCore_TCPXCore_SendEx(xhHTTPSocket, lpszClientAddr, tszPKTBuffer, nPKTLen))
161161
{
162162
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("发送数据给HTTP客户端:%s,失败,错误:%lX"), lpszClientAddr, NetCore_GetLastError());

0 commit comments

Comments
 (0)