Skip to content

Commit aecc92a

Browse files
committed
Fix: issue with forwarding network not distinguishing between named and anonymized data when accepting data
1 parent 7acc03e commit aecc92a

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

XEngine_Source/XEngine_ServiceApp/XEngine_Network.cpp

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,34 @@ void CALLBACK Network_Callback_ForwardRecv(LPCXSTR lpszClientAddr, XSOCKET hSock
7171
SESSION_FORWARD st_ForwardClinet = {};
7272
if (ModuleSession_Forward_Get(lpszClientAddr, &st_ForwardClinet))
7373
{
74-
//如果有转发,直接转发
75-
XEngine_Network_Send(st_ForwardClinet.tszDstAddr, lpszRecvMsg, nMsgLen, XENGINE_CLIENT_NETTYPE_FORWARD);
74+
if (st_ForwardClinet.bForward)
75+
{
76+
if (st_ForwardClinet.bAnony)
77+
{
78+
//匿名转发
79+
if (XClient_TCPSelect_SendEx(xhForwardClient, st_ForwardClinet.xhClient, lpszRecvMsg, nMsgLen))
80+
{
81+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_DEBUG, _X("Forward客户端:%s,匿名转发数据成功,大小:%d"), lpszClientAddr, nMsgLen);
82+
}
83+
else
84+
{
85+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("Forward客户端:%s,匿名转发数据失败,大小:%d,错误:%lX"), lpszClientAddr, nMsgLen, XClient_GetLastError());
86+
}
87+
}
88+
else
89+
{
90+
//非匿名转发
91+
XEngine_Network_Send(st_ForwardClinet.tszDstAddr, lpszRecvMsg, nMsgLen, XENGINE_CLIENT_NETTYPE_FORWARD);
92+
}
93+
}
94+
else
95+
{
96+
//没有绑定转发,投递到包中处理
97+
if (!HelpComponents_Datas_PostEx(xhForwardPacket, lpszClientAddr, lpszRecvMsg, nMsgLen))
98+
{
99+
XLOG_PRINT(xhLog, XENGINE_HELPCOMPONENTS_XLOG_IN_LOGLEVEL_ERROR, _X("Forward客户端:%s,投递数据包失败,大小:%d,错误:%lX"), lpszClientAddr, nMsgLen, Packets_GetLastError());
100+
}
101+
}
76102
}
77103
else
78104
{

0 commit comments

Comments
 (0)