@@ -48,6 +48,7 @@ void CALLBACK XEngine_Callback_UPLoaderLeave(LPCTSTR lpszClientAddr, SOCKET hSoc
4848BOOL CALLBACK XEngine_Callback_CenterLogin (LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam)
4949{
5050 RfcComponents_HttpServer_CreateClientEx (xhCenterHttp, lpszClientAddr, 0 );
51+ SocketOpt_HeartBeat_InsertAddrEx (xhHBCenter, lpszClientAddr);
5152 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T (" 业务客户端:%s,进入了服务器" ), lpszClientAddr);
5253 return TRUE ;
5354}
@@ -58,6 +59,7 @@ void CALLBACK XEngine_Callback_CenterRecv(LPCTSTR lpszClientAddr, SOCKET hSocket
5859 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T (" 业务客户端:%s,投递数据失败,大小:%d,错误;%lX" ), lpszClientAddr, nMsgLen, HttpServer_GetLastError ());
5960 return ;
6061 }
62+ SocketOpt_HeartBeat_ActiveAddrEx (xhHBCenter, lpszClientAddr);
6163 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _T (" 业务客户端:%s,投递包成功,大小:%d" ), lpszClientAddr, nMsgLen);
6264}
6365void CALLBACK XEngine_Callback_CenterLeave (LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam)
@@ -68,6 +70,7 @@ void CALLBACK XEngine_Callback_CenterLeave(LPCTSTR lpszClientAddr, SOCKET hSocke
6870BOOL CALLBACK XEngine_Callback_P2xpLogin (LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam)
6971{
7072 HelpComponents_Datas_CreateEx (xhP2XPPacket, lpszClientAddr, 0 );
73+ SocketOpt_HeartBeat_InsertAddrEx (xhHBP2xp, lpszClientAddr);
7174 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _T (" P2XP客户端:%s,进入了服务器" ), lpszClientAddr);
7275 return TRUE ;
7376}
@@ -78,6 +81,7 @@ void CALLBACK XEngine_Callback_P2xpRecv(LPCTSTR lpszClientAddr, SOCKET hSocket,
7881 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _T (" P2XP客户端:%s,投递数据失败,大小:%d,错误;%lX" ), lpszClientAddr, nMsgLen, HttpServer_GetLastError ());
7982 return ;
8083 }
84+ SocketOpt_HeartBeat_ActiveAddrEx (xhHBP2xp, lpszClientAddr);
8185 XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _T (" P2XP客户端:%s,投递包成功,大小:%d" ), lpszClientAddr, nMsgLen);
8286}
8387void CALLBACK XEngine_Callback_P2xpLeave (LPCTSTR lpszClientAddr, SOCKET hSocket, LPVOID lParam)
@@ -93,6 +97,10 @@ void CALLBACK XEngine_Callback_HBUPLoader(LPCTSTR lpszClientAddr, SOCKET hSocket
9397{
9498 XEngine_Net_CloseClient (lpszClientAddr, STORAGE_LEAVETYPE_HEARTBEAT, STORAGE_NETTYPE_HTTPUPLOADER);
9599}
100+ void CALLBACK XEngine_Callback_HBCenter (LPCTSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam)
101+ {
102+ XEngine_Net_CloseClient (lpszClientAddr, STORAGE_LEAVETYPE_HEARTBEAT, STORAGE_NETTYPE_HTTPCENTER);
103+ }
96104void CALLBACK XEngine_Callback_HBP2xp (LPCTSTR lpszClientAddr, SOCKET hSocket, int nStatus, LPVOID lParam)
97105{
98106 XEngine_Net_CloseClient (lpszClientAddr, STORAGE_LEAVETYPE_HEARTBEAT, STORAGE_NETTYPE_TCPP2XP);
@@ -126,24 +134,28 @@ BOOL XEngine_Net_CloseClient(LPCTSTR lpszClientAddr, int nLeaveType, int nClient
126134 lpszLeaveMsg = _T (" 心跳超时" );
127135 NetCore_TCPXCore_CloseForClientEx (xhNetDownload, lpszClientAddr);
128136 NetCore_TCPXCore_CloseForClientEx (xhNetUPLoader, lpszClientAddr);
137+ NetCore_TCPXCore_CloseForClientEx (xhNetCenter, lpszClientAddr);
129138 NetCore_TCPXCore_CloseForClientEx (xhNetP2xp, lpszClientAddr);
130139 }
131140 else if (STORAGE_LEAVETYPE_BYSELF == nLeaveType)
132141 {
133142 lpszLeaveMsg = _T (" 主动断开" );
134143 SocketOpt_HeartBeat_DeleteAddrEx (xhHBDownload, lpszClientAddr);
135144 SocketOpt_HeartBeat_DeleteAddrEx (xhHBUPLoader, lpszClientAddr);
145+ SocketOpt_HeartBeat_DeleteAddrEx (xhHBCenter, lpszClientAddr);
136146 SocketOpt_HeartBeat_DeleteAddrEx (xhHBP2xp, lpszClientAddr);
137147 }
138148 else
139149 {
140150 lpszLeaveMsg = _T (" 主动关闭" );
141151 NetCore_TCPXCore_CloseForClientEx (xhNetDownload, lpszClientAddr);
142152 NetCore_TCPXCore_CloseForClientEx (xhNetUPLoader, lpszClientAddr);
153+ NetCore_TCPXCore_CloseForClientEx (xhNetCenter, lpszClientAddr);
143154 NetCore_TCPXCore_CloseForClientEx (xhNetP2xp, lpszClientAddr);
144155
145156 SocketOpt_HeartBeat_DeleteAddrEx (xhHBDownload, lpszClientAddr);
146157 SocketOpt_HeartBeat_DeleteAddrEx (xhHBUPLoader, lpszClientAddr);
158+ SocketOpt_HeartBeat_DeleteAddrEx (xhHBCenter, lpszClientAddr);
147159 SocketOpt_HeartBeat_DeleteAddrEx (xhHBP2xp, lpszClientAddr);
148160 }
149161
@@ -190,6 +202,10 @@ BOOL XEngine_Net_SendMsg(LPCTSTR lpszClientAddr, LPCTSTR lpszMsgBuffer, int nMsg
190202 else if (STORAGE_NETTYPE_HTTPCENTER == nType)
191203 {
192204 bRet = NetCore_TCPXCore_SendEx (xhNetCenter, lpszClientAddr, lpszMsgBuffer, nMsgLen);
205+ if (bRet && st_ServiceCfg.st_XTime .bHBTime )
206+ {
207+ SocketOpt_HeartBeat_ActiveAddrEx (xhHBCenter, lpszClientAddr);
208+ }
193209 }
194210 else if (STORAGE_NETTYPE_TCPP2XP == nType)
195211 {
0 commit comments