Skip to content

Commit c81cd40

Browse files
committed
improved:send message use class memory instead
1 parent 2317c9d commit c81cd40

File tree

1 file changed

+9
-23
lines changed

1 file changed

+9
-23
lines changed

XEngine_Source/XEngine_APPService/XEngine_AuthorizeService/Authorize_Net.cpp

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -162,33 +162,20 @@ bool XEngine_Client_TaskSend(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int
162162
}
163163
bool 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

Comments
 (0)