Skip to content

Commit 912f007

Browse files
committed
modify:support heartbeat for Http
1 parent 3fe2a17 commit 912f007

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

XEngine_Source/XEngine_MQServiceApp/MQService_TCPTask.cpp

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,35 @@ BOOL MessageQueue_TCP_Handle(XENGINE_PROTOCOLHDR* pSt_ProtocolHdr, LPCTSTR lpszC
6363
lpszClientType = _T("WEBSOCKET");
6464
}
6565

66-
if (ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_AUTH == pSt_ProtocolHdr->unOperatorType)
66+
if (ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_HEARTBEAT == pSt_ProtocolHdr->unOperatorType)
67+
{
68+
if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_HB_SYN == pSt_ProtocolHdr->unOperatorCode)
69+
{
70+
if (XENGINE_MQAPP_NETTYPE_HTTP == nNetType)
71+
{
72+
_stprintf(tszSessionStr, _T("%lld"), pSt_ProtocolHdr->xhToken);
73+
}
74+
else
75+
{
76+
_tcscpy(tszSessionStr, lpszClientAddr);
77+
}
78+
SessionModule_Client_Heart(tszSessionStr);
79+
//如果设置了标志位或者是HTTP请求,那么返回消息
80+
if (pSt_ProtocolHdr->byIsReply || (XENGINE_MQAPP_NETTYPE_HTTP == nNetType))
81+
{
82+
pSt_ProtocolHdr->unPacketSize = 0;
83+
pSt_ProtocolHdr->unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_HB_ACK;
84+
ProtocolModule_Packet_Common(nNetType, pSt_ProtocolHdr, NULL, tszSDBuffer, &nSDLen);
85+
XEngine_MQXService_Send(lpszClientAddr, tszSDBuffer, nSDLen, nNetType);
86+
}
87+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _T("客户端:%s,处理心跳协议成功,回复标志位:%d"), lpszClientAddr, pSt_ProtocolHdr->byIsReply);
88+
}
89+
else
90+
{
91+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T("客户端:%s,处理心跳子协议失败,协议类型没有找到:%d"), lpszClientAddr, pSt_ProtocolHdr->unOperatorCode);
92+
}
93+
}
94+
else if (ENUM_XENGINE_COMMUNICATION_PROTOCOL_TYPE_AUTH == pSt_ProtocolHdr->unOperatorType)
6795
{
6896
if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_MQ_REQUSERLOG == pSt_ProtocolHdr->unOperatorCode)
6997
{

0 commit comments

Comments
 (0)