@@ -162,33 +162,20 @@ bool XEngine_Client_TaskSend(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int
162162}
163163bool XEngine_SendMsg (LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, int nNetType, LPCXSTR lpszPass)
164164{
165- XCHAR* ptszMsgBuffer = (XCHAR*)ManagePool_Memory_Alloc (xhMemPool, XENGINE_MEMORY_SIZE_MAX);
166- if (NULL == ptszMsgBuffer)
167- {
168- XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 客户端:%s,网络类型:%d 发送数据失败,内存申请失败,错误码:%d" ), lpszClientAddr, nNetType, errno);
169- return false ;
170- }
171-
165+ CHttpMemory_PoolEx m_HTTPMemory (XENGINE_MEMORY_SIZE_MAX);
172166 if (XENGINE_AUTH_APP_NETTYPE_WS == nNetType)
173167 {
174168 if (NULL == lpszPass)
175169 {
176- RfcComponents_WSCodec_EncodeMsg (lpszMsgBuffer, ptszMsgBuffer , &nMsgLen, ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE_TEXT);
170+ RfcComponents_WSCodec_EncodeMsg (lpszMsgBuffer, m_HTTPMemory. get () , &nMsgLen, ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE_TEXT);
177171 }
178172 else
179173 {
180- XCHAR* ptszCodecBuffer = (XCHAR*)ManagePool_Memory_Alloc (xhMemPool, XENGINE_MEMORY_SIZE_MAX);
181- if (NULL == ptszCodecBuffer)
182- {
183- XLOG_PRINT (xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X (" 客户端:%s,网络类型:%d 发送数据失败,内存申请失败,错误码:%d" ), lpszClientAddr, nNetType, errno);
184- return false ;
185- }
186- Cryption_XCrypto_Encoder (lpszMsgBuffer, &nMsgLen, (XBYTE*)ptszCodecBuffer, lpszPass);
187- RfcComponents_WSCodec_EncodeMsg (ptszCodecBuffer, ptszMsgBuffer, &nMsgLen, ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE_TEXT);
188- ManagePool_Memory_Free (xhMemPool, ptszCodecBuffer);
189- ptszCodecBuffer = NULL ;
174+ CHttpMemory_PoolEx m_CodecMemory (XENGINE_MEMORY_SIZE_MAX);
175+ Cryption_XCrypto_Encoder (lpszMsgBuffer, &nMsgLen, (XBYTE*)m_CodecMemory.get (), lpszPass);
176+ RfcComponents_WSCodec_EncodeMsg (m_CodecMemory.get (), m_HTTPMemory.get (), &nMsgLen, ENUM_XENGINE_RFCOMPONENTS_WEBSOCKET_OPCODE_TEXT);
190177 }
191- NetCore_TCPXCore_SendEx (xhWSSocket, lpszClientAddr, ptszMsgBuffer , nMsgLen);
178+ NetCore_TCPXCore_SendEx (xhWSSocket, lpszClientAddr, m_HTTPMemory. get () , nMsgLen);
192179 SocketOpt_HeartBeat_ActiveAddrEx (xhWSHeart, lpszClientAddr);
193180 }
194181 else if (XENGINE_AUTH_APP_NETTYPE_TCP == nNetType)
@@ -206,7 +193,7 @@ bool XEngine_SendMsg(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen,
206193 st_HDRParam.bIsClose = true ;
207194 if (NULL == lpszPass)
208195 {
209- HttpProtocol_Server_SendMsgEx (xhHttpPacket, ptszMsgBuffer , &nSDSize, &st_HDRParam, lpszMsgBuffer, nMsgLen);
196+ HttpProtocol_Server_SendMsgEx (xhHttpPacket, m_HTTPMemory. get () , &nSDSize, &st_HDRParam, lpszMsgBuffer, nMsgLen);
210197 }
211198 else
212199 {
@@ -218,12 +205,11 @@ bool XEngine_SendMsg(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen,
218205 }
219206
220207 Cryption_XCrypto_Encoder (lpszMsgBuffer, &nMsgLen, (XBYTE*)ptszCodecBuffer, lpszPass);
221- HttpProtocol_Server_SendMsgEx (xhHttpPacket, ptszMsgBuffer , &nSDSize, &st_HDRParam, ptszCodecBuffer, nMsgLen);
208+ HttpProtocol_Server_SendMsgEx (xhHttpPacket, m_HTTPMemory. get () , &nSDSize, &st_HDRParam, ptszCodecBuffer, nMsgLen);
222209 ManagePool_Memory_Free (xhMemPool, ptszCodecBuffer);
223210 }
224- NetCore_TCPXCore_SendEx (xhHttpSocket, lpszClientAddr, ptszMsgBuffer , nSDSize);
211+ NetCore_TCPXCore_SendEx (xhHttpSocket, lpszClientAddr, m_HTTPMemory. get () , nSDSize);
225212 SocketOpt_HeartBeat_ActiveAddrEx (xhHTTPHeart, lpszClientAddr);
226213 }
227- ManagePool_Memory_Free (xhMemPool, ptszMsgBuffer);
228214 return true ;
229215}
0 commit comments