22// ////////////////////////////////////////////////////////////////////////
33BOOL __stdcall MessageQueue_Callback_TCPLogin (LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam)
44{
5- SocketOpt_HeartBeat_InsertAddrEx (xhTCPHeart, lpszClientAddr);
65 HelpComponents_Datas_CreateEx (xhTCPPacket, lpszClientAddr, 0 );
76 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO,_T (" TCP客户端连接,TCP客户端地址:%s" ),lpszClientAddr);
87 return TRUE ;
@@ -14,17 +13,12 @@ void __stdcall MessageQueue_Callback_TCPRecv(LPCTSTR lpszClientAddr, SOCKET hSoc
1413 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR,_T (" 投递TCP数据包到消息队列失败,错误:%lX" ),Packets_GetLastError ());
1514 return ;
1615 }
17- SocketOpt_HeartBeat_ActiveAddrEx (xhTCPHeart, lpszClientAddr);
1816 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _T (" 投递TCP数据包到消息队列成功,%d" ), nMsgLen);
1917}
2018void __stdcall MessageQueue_Callback_TCPLeave (LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam)
2119{
2220 XEngine_MQXService_Close (lpszClientAddr, XENGINE_MQAPP_NETTYPE_TCP, FALSE );
2321}
24- void __stdcall MessageQueue_Callback_TCPHeart (LPCSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam)
25- {
26- XEngine_MQXService_Close (lpszClientAddr, XENGINE_MQAPP_NETTYPE_TCP, TRUE );
27- }
2822// ////////////////////////////////////////////////////////////////////////
2923BOOL __stdcall MessageQueue_Callback_HttpLogin (LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam)
3024{
@@ -47,7 +41,6 @@ void __stdcall MessageQueue_Callback_HttpLeave(LPCTSTR lpszClientAddr, SOCKET hS
4741// ////////////////////////////////////////////////////////////////////////
4842BOOL __stdcall MessageQueue_Callback_WSLogin (LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam)
4943{
50- SocketOpt_HeartBeat_InsertAddrEx (xhWSHeart, lpszClientAddr);
5144 RfcComponents_WSPacket_CreateEx (xhWSPacket, lpszClientAddr, 0 );
5245 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T (" Websocket客户端连接,Websocket客户端地址:%s" ), lpszClientAddr);
5346 return TRUE ;
@@ -63,7 +56,6 @@ void __stdcall MessageQueue_Callback_WSRecv(LPCTSTR lpszClientAddr, SOCKET hSock
6356 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T (" 投递Websocket数据包到消息队列失败,错误:%lX" ), WSFrame_GetLastError ());
6457 return ;
6558 }
66- SocketOpt_HeartBeat_ActiveAddrEx (xhWSHeart, lpszClientAddr);
6759 }
6860 else
6961 {
@@ -81,42 +73,30 @@ void __stdcall MessageQueue_Callback_WSLeave(LPCTSTR lpszClientAddr, SOCKET hSoc
8173{
8274 XEngine_MQXService_Close (lpszClientAddr, XENGINE_MQAPP_NETTYPE_WEBSOCKET, FALSE );
8375}
84- void __stdcall MessageQueue_Callback_WSHeart (LPCSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam)
76+ // ////////////////////////////////////////////////////////////////////////
77+ void __stdcall MessageQueue_Callback_Timeout (LPCSTR lpszSessionStr, LPVOID lParam)
8578{
86- XEngine_MQXService_Close (lpszClientAddr, XENGINE_MQAPP_NETTYPE_WEBSOCKET , TRUE );
79+ XEngine_MQXService_Close (lpszSessionStr, XENGINE_MQAPP_NETTYPE_HTTP , TRUE );
8780}
8881// ////////////////////////////////////////////////////////////////////////
8982void XEngine_MQXService_Close (LPCTSTR lpszClientAddr, int nIPProto, BOOL bHeart)
9083{
9184 if (XENGINE_MQAPP_NETTYPE_TCP == nIPProto)
9285 {
9386 HelpComponents_Datas_DeleteEx (xhTCPPacket, lpszClientAddr);
94- if (bHeart)
95- {
96- NetCore_TCPXCore_CloseForClientEx (xhTCPSocket, lpszClientAddr);
97- }
98- else
99- {
100- SocketOpt_HeartBeat_DeleteAddrEx (xhTCPHeart, lpszClientAddr);
101- }
87+ NetCore_TCPXCore_CloseForClientEx (xhTCPSocket, lpszClientAddr);
10288 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T (" TCP客户端离开,TCP客户端地址:%s" ), lpszClientAddr);
10389 }
10490 else if (XENGINE_MQAPP_NETTYPE_WEBSOCKET == nIPProto)
10591 {
10692 RfcComponents_WSPacket_DeleteEx (xhWSPacket, lpszClientAddr);
107- if (bHeart)
108- {
109- NetCore_TCPXCore_CloseForClientEx (xhWSSocket, lpszClientAddr);
110- }
111- else
112- {
113- SocketOpt_HeartBeat_DeleteAddrEx (xhWSHeart, lpszClientAddr);
114- }
93+ NetCore_TCPXCore_CloseForClientEx (xhWSSocket, lpszClientAddr);;
11594 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T (" Websocket客户端离开,Websocket客户端地址:%s" ), lpszClientAddr);
11695 }
11796 else
11897 {
11998 RfcComponents_HttpServer_CloseClinetEx (xhHTTPPacket, lpszClientAddr);
99+ NetCore_TCPXCore_CloseForClientEx (xhHTTPSocket, lpszClientAddr);;
120100 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T (" HTTP客户端离开,HTTP客户端地址:%s" ), lpszClientAddr);
121101 }
122102 XENGINE_PROTOCOL_USERINFO st_UserInfo;
@@ -137,7 +117,6 @@ BOOL XEngine_MQXService_Send(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int
137117 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T (" 发送数据给TCP客户端:%s,失败,错误:%lX" ), lpszClientAddr, NetCore_GetLastError ());
138118 return FALSE ;
139119 }
140- SocketOpt_HeartBeat_ActiveAddrEx (xhTCPHeart, lpszClientAddr);
141120 }
142121 else if (XENGINE_MQAPP_NETTYPE_HTTP == nIPProto)
143122 {
@@ -170,7 +149,6 @@ BOOL XEngine_MQXService_Send(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int
170149 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T (" 发送数据给Websocket客户端:%s,失败,错误:%lX" ), lpszClientAddr, NetCore_GetLastError ());
171150 return FALSE ;
172151 }
173- SocketOpt_HeartBeat_ActiveAddrEx (xhWSHeart, lpszClientAddr);
174152 }
175153 return TRUE ;
176154}
0 commit comments