Skip to content

Commit 2b03948

Browse files
committed
improved:http reply send memory
1 parent e2b2a13 commit 2b03948

2 files changed

Lines changed: 12 additions & 32 deletions

File tree

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_ShortLink.cpp

Lines changed: 11 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -44,31 +44,19 @@ bool HTTPTask_TaskPost_SLProxy(LPCXSTR lpszClientAddr, LPCXSTR lpszUriStr, XCHAR
4444

4545
_xstprintf(tszRVBuffer, _X("Location: %s\r\n"), st_ShortLink.tszFullUrl);
4646
HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, NULL, 0, tszRVBuffer);
47-
XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen);
47+
NetCore_TCPXCore_SendEx(xhHTTPSocket, lpszClientAddr, tszSDBuffer, nSDLen);
4848
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求的短连接地址重定向成功,短连接:%s,长连接:%s"), lpszClientAddr, st_ShortLink.tszMapUrl, st_ShortLink.tszFullUrl);
4949
return true;
5050
}
5151
bool HTTPTask_TaskPost_ShortLink(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int nMsgLen, int nType)
5252
{
5353
int nSDLen = 0;
54-
int nRVLen = 0;
5554
XCHAR tszSDBuffer[4096];
56-
XCHAR tszRVBuffer[4096];
57-
XENGINE_SHORTLINK st_ShortLink;
58-
RFCCOMPONENTS_HTTP_HDRPARAM st_HDRParam; //发送给客户端的参数
59-
60-
memset(tszSDBuffer, '\0', sizeof(tszSDBuffer));
61-
memset(tszRVBuffer, '\0', sizeof(tszRVBuffer));
62-
memset(&st_ShortLink, '\0', sizeof(XENGINE_SHORTLINK));
63-
memset(&st_HDRParam, '\0', sizeof(RFCCOMPONENTS_HTTP_HDRPARAM));
64-
65-
st_HDRParam.nHttpCode = 200; //HTTP CODE码
66-
st_HDRParam.bIsClose = true; //收到回复后就关闭
55+
XENGINE_SHORTLINK st_ShortLink = {};
6756

6857
if (!st_ServiceConfig.st_XSql.bEnable)
6958
{
70-
ModuleProtocol_Packet_Common(tszRVBuffer, &nRVLen, 501, _X("function is closed"));
71-
HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen);
59+
ModuleProtocol_Packet_Common(tszSDBuffer, &nSDLen, ERROR_XENGINE_PROTOCL_HTTP_DISABLE, _X("function is closed"));
7260
XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen);
7361
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求的短连接操作功能已经被服务器关闭,无法继续"), lpszClientAddr);
7462
return false;
@@ -80,53 +68,46 @@ bool HTTPTask_TaskPost_ShortLink(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer,
8068
BaseLib_Time_TimeToStr(st_ShortLink.tszCreateTime);
8169
if (!HttpProtocol_ServerHelp_ShortLink(st_ShortLink.tszFullUrl, st_ShortLink.tszShotUrl, st_ShortLink.tszKeyUrl, st_ShortLink.nLength, st_ShortLink.tszCvtUrl))
8270
{
83-
st_HDRParam.nHttpCode = 400;
84-
HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam);
71+
ModuleProtocol_Packet_Common(tszSDBuffer, &nSDLen, ERROR_XENGINE_PROTOCL_HTTP_FAILURE, _X("request create short link is failure"));
8572
XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen);
8673
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求生成短连接生成错误,生成的连接:%s,替换的连接:%s,错误码:%lX"), lpszClientAddr, st_ShortLink.tszFullUrl, st_ShortLink.tszCvtUrl, HttpProtocol_GetLastError());
8774
return false;
8875
}
8976
_xstprintf(st_ShortLink.tszMapUrl, _X("%s/%s"), st_ShortLink.tszShotUrl, st_ShortLink.tszKeyUrl);
9077
if (!ModuleDatabase_ShortLink_Insert(&st_ShortLink))
9178
{
92-
st_HDRParam.nHttpCode = 400;
93-
HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam);
79+
ModuleProtocol_Packet_Common(tszSDBuffer, &nSDLen, ERROR_XENGINE_PROTOCL_HTTP_FAILURE, _X("insert shortlink is failure"));
9480
XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen);
9581
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求生成短连接插入数据库错误,生成的连接:%s,替换的连接:%s,错误码:%lX"), lpszClientAddr, st_ShortLink.tszFullUrl, st_ShortLink.tszCvtUrl, ModuleDB_GetLastError());
9682
return false;
9783
}
98-
ModuleProtocol_Packet_ShortLink(tszRVBuffer, &nRVLen, &st_ShortLink);
99-
HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen);
84+
ModuleProtocol_Packet_ShortLink(tszSDBuffer, &nSDLen, &st_ShortLink);
10085
XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen);
10186
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求操作短连接插入成功,完整地址URL:%s,映射URL:%s"), lpszClientAddr, st_ShortLink.tszFullUrl, st_ShortLink.tszMapUrl);
10287
}
10388
else if (1 == nType)
10489
{
10590
if (!ModuleDatabase_ShortLink_Query(&st_ShortLink))
10691
{
107-
st_HDRParam.nHttpCode = 400;
108-
HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam);
92+
ModuleProtocol_Packet_Common(tszSDBuffer, &nSDLen, ERROR_XENGINE_PROTOCL_HTTP_FAILURE, _X("query shortlink is failure"));
10993
XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen);
11094
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求获取短连接错误,连接:%s,错误码:%lX"), lpszClientAddr, st_ShortLink.tszMapUrl, ModuleDB_GetLastError());
11195
return false;
11296
}
113-
ModuleProtocol_Packet_ShortLink(tszRVBuffer, &nRVLen, &st_ShortLink);
114-
HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen);
97+
ModuleProtocol_Packet_ShortLink(tszSDBuffer, &nSDLen, &st_ShortLink);
11598
XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen);
11699
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求操作短连接获取成功,完整地址URL:%s,映射URL:%s"), lpszClientAddr, st_ShortLink.tszFullUrl, st_ShortLink.tszMapUrl);
117100
}
118101
else if (2 == nType)
119102
{
120103
if (!ModuleDatabase_ShortLink_Delete(&st_ShortLink))
121104
{
122-
st_HDRParam.nHttpCode = 400;
123-
HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam);
105+
ModuleProtocol_Packet_Common(tszSDBuffer, &nSDLen, ERROR_XENGINE_PROTOCL_HTTP_FAILURE, _X("delete shortlink is failure"));
124106
XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen);
125107
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("HTTP客户端:%s,请求删除短连接错误,完整地址:%s,映射地址:%s,错误码:%lX"), lpszClientAddr, st_ShortLink.tszFullUrl, st_ShortLink.tszMapUrl, ModuleDB_GetLastError());
126108
return false;
127109
}
128-
ModuleProtocol_Packet_ShortLink(tszRVBuffer, &nRVLen, &st_ShortLink);
129-
HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen);
110+
ModuleProtocol_Packet_ShortLink(tszSDBuffer, &nSDLen, &st_ShortLink);
130111
XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen);
131112
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求操作短连接删除成功,完整地址URL:%s,映射URL:%s"), lpszClientAddr, st_ShortLink.tszFullUrl, st_ShortLink.tszMapUrl);
132113
}
@@ -135,8 +116,7 @@ bool HTTPTask_TaskPost_ShortLink(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer,
135116
int nListCount = 0;
136117
XENGINE_SHORTLINK** ppSt_SLinkInfo;
137118
ModuleDatabase_ShortLink_List(&ppSt_SLinkInfo, &nListCount);
138-
ModuleProtocol_Packet_ShortLinkList(tszRVBuffer, &nRVLen, &ppSt_SLinkInfo, nListCount);
139-
HttpProtocol_Server_SendMsgEx(xhHTTPPacket, tszSDBuffer, &nSDLen, &st_HDRParam, tszRVBuffer, nRVLen);
119+
ModuleProtocol_Packet_ShortLinkList(tszSDBuffer, &nSDLen, &ppSt_SLinkInfo, nListCount);
140120
XEngine_Network_Send(lpszClientAddr, tszSDBuffer, nSDLen);
141121
BaseLib_Memory_Free((XPPPMEM)&ppSt_SLinkInfo, nListCount);
142122
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("HTTP客户端:%s,请求操作短连接查询成功,查询个数:%d"), lpszClientAddr, nListCount);

XEngine_Source/XEngine_ServiceApp/XEngine_HttpApp/XEngine_TaskPost/TaskPost_SocketTest.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
void XCALLBACK HTTPTask_TastPost_CBSocketTest(XNETHANDLE xhToken, LPCXSTR lpszAddr, int nPort, __int64x nNumber, __int64x nFailed, __int64x nSuccess, int nStatus, XPVOID lParam)
44
{
55
XENGINE_SOCKETTEST* pSt_SocketTest = (XENGINE_SOCKETTEST*)lParam;
6-
int nMsgLen = 0;
6+
int nMsgLen = 4096;
77
XCHAR tszMsgBuffer[4096] = {};
88

99
if (0 == pSt_SocketTest->nType)

0 commit comments

Comments
 (0)