握手登录心跳不需要转发到Gateway

This commit is contained in:
cdyong 2016-05-14 01:25:12 +00:00
parent 933b2248ae
commit a92cbe5e7b
1 changed files with 9 additions and 6 deletions

View File

@ -114,7 +114,7 @@ bool TokenClient::OnReceive(TokenMessage& msg, Controller* ctrl)
if(msg.Reply) if(msg.Reply)
OnLogin(msg, ctrl); OnLogin(msg, ctrl);
else else
OnLocalLogin(msg, ctrl); OnLocalLogin(msg, ctrl);
break; break;
case 0x03: case 0x03:
OnPing(msg, ctrl); OnPing(msg, ctrl);
@ -126,6 +126,8 @@ bool TokenClient::OnReceive(TokenMessage& msg, Controller* ctrl)
OnInvoke(msg, ctrl); OnInvoke(msg, ctrl);
break; break;
} }
// todo 握手登录心跳消息不需要转发
if(msg.Code < 0x03) return true;
// 消息转发 // 消息转发
if(Received) Received(ctrl, msg, Param); if(Received) Received(ctrl, msg, Param);
@ -462,22 +464,23 @@ bool TokenClient::OnLocalLogin(TokenMessage& msg, Controller* ctrl)
if(msg.Reply) return false; if(msg.Reply) return false;
TS("TokenClient::OnLocalLogin"); TS("TokenClient::OnLocalLogin");
auto ctrl2 = dynamic_cast<TokenController*>(ctrl);
auto rs = msg.CreateReply(); auto rs = msg.CreateReply();
LoginMessage login; LoginMessage login;
// 这里需要随机密匙 // 这里需要随机密匙
//login.Key = Key.Copy(Sys.ID, 16); login.Key = ctrl2->Key;
// 随机令牌 // 随机令牌
login.Token = Sys.Ms(); login.Token = Sys.Ms();
login.Reply = true; login.Reply = true;
login.WriteMessage(rs); login.WriteMessage(rs);
Reply(rs); Reply(rs, ctrl);
auto ctrl2 = dynamic_cast<TokenController*>(ctrl);
ctrl2->Key.Copy(0, login.User, 0, -1); //ctrl2->Key.Copy(0, login.User, 0, -1);
ctrl2->Token = login.Token; ctrl2->Token = login.Token;
return true; return true;
} }