Skip to content

Commit 0b64eae

Browse files
committed
fixed:anony save client addr lost port
1 parent aecc92a commit 0b64eae

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

XEngine_Source/XEngine_ServiceApp/XEngine_ForwardTask.cpp

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -120,24 +120,23 @@ bool XEngine_Forward_Handle(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int n
120120
}
121121
else if (XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_FORWARD_ANONYREQ == pSt_ProtocolHdr->unOperatorCode)
122122
{
123-
XCHAR tszSrcAddr[128];
124-
XCHAR tszDstAddr[128];
125-
126-
memset(tszSrcAddr, '\0', sizeof(tszSrcAddr));
127-
memset(tszDstAddr, '\0', sizeof(tszDstAddr));
123+
XCHAR tszSrcAddr[128] = {};
124+
XCHAR tszDstAddr[128] = {};
125+
XCHAR tszTmpAddr[128] = {};
128126

129127
ModuleProtocol_Parse_ForwardBind(lpszMsgBuffer, nMsgLen, tszSrcAddr, tszDstAddr);
130128
//匿名绑定,请求连接
131129
int nPort = 0;
132130
XNETHANDLE xhClient = 0;
133-
APIAddr_IPAddr_SegAddr(tszDstAddr, &nPort);
134-
if (!XClient_TCPSelect_InsertEx(xhForwardClient, &xhClient, tszDstAddr, nPort))
131+
_tcsxcpy(tszTmpAddr, tszDstAddr);
132+
APIAddr_IPAddr_SegAddr(tszTmpAddr, &nPort);
133+
if (!XClient_TCPSelect_InsertEx(xhForwardClient, &xhClient, tszTmpAddr, nPort))
135134
{
136135
pSt_ProtocolHdr->wReserve = 500;
137136
pSt_ProtocolHdr->unPacketSize = 0;
138137
pSt_ProtocolHdr->unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_FORWARD_ANONYREP;
139138
XEngine_Network_Send(lpszClientAddr, (LPCXSTR)pSt_ProtocolHdr, sizeof(XENGINE_PROTOCOLHDR), XENGINE_CLIENT_NETTYPE_FORWARD);
140-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("Forward客户端:%s,请求匿名绑定转发地址:%s:%d 失败,网络连接错误,错误码:%lX"), lpszClientAddr, tszDstAddr, nPort, XClient_GetLastError());
139+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("Forward客户端:%s,请求匿名绑定转发地址:%s 失败,网络连接错误,错误码:%lX"), lpszClientAddr, tszDstAddr, XClient_GetLastError());
141140
return false;
142141
}
143142
if (!ModuleSession_Forward_BindAnony(lpszClientAddr, tszDstAddr, xhClient))
@@ -146,13 +145,13 @@ bool XEngine_Forward_Handle(LPCXSTR lpszClientAddr, LPCXSTR lpszMsgBuffer, int n
146145
pSt_ProtocolHdr->unPacketSize = 0;
147146
pSt_ProtocolHdr->unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_FORWARD_ANONYREP;
148147
XEngine_Network_Send(lpszClientAddr, (LPCXSTR)pSt_ProtocolHdr, sizeof(XENGINE_PROTOCOLHDR), XENGINE_CLIENT_NETTYPE_FORWARD);
149-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("Forward客户端:%s,请求匿名绑定转发地址:%s:%d 失败,错误:%lX"), lpszClientAddr, tszDstAddr, nPort);
148+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("Forward客户端:%s,请求匿名绑定转发地址:%s 失败,错误:%lX"), lpszClientAddr, tszDstAddr, ModuleSession_GetLastError());
150149
return false;
151150
}
152151
//返回结果
153152
pSt_ProtocolHdr->unOperatorCode = XENGINE_COMMUNICATION_PROTOCOL_OPERATOR_CODE_FORWARD_ANONYREP;
154153
XEngine_Network_Send(lpszClientAddr, (LPCXSTR)pSt_ProtocolHdr, sizeof(XENGINE_PROTOCOLHDR), XENGINE_CLIENT_NETTYPE_FORWARD);
155-
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("Forward客户端:%s,请求匿名绑定转发地址:%s:%d 成功"), lpszClientAddr, tszDstAddr, nPort);
154+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_INFO, _X("Forward客户端:%s,请求匿名绑定转发地址:%s 成功"), lpszClientAddr, tszDstAddr);
156155
}
157156
}
158157

0 commit comments

Comments
 (0)