令牌客户端携带令牌跳转,未完成

This commit is contained in:
Stone 2016-08-01 09:55:14 +00:00
parent 5a7fd3441b
commit d0a8b62ed6
3 changed files with 14 additions and 4 deletions

View File

@ -10,6 +10,7 @@ public:
String User; // 登录名
String Pass; // 登录密码
ByteArray Salt; // 加盐
String VisitToken; // 访问令牌
uint Token; // 令牌
ByteArray Key; // 登录时会发通讯密码

View File

@ -59,6 +59,9 @@ void TokenClient::Open()
// 令牌广播使用素数,避免跟别的任务重叠
//if (cs.Count() > 0) _taskBroadcast = Sys.AddTask(BroadcastHelloTask, this, 7000, 37000, "令牌广播");
auto cfg = Cfg;
VisitToken = cfg->Token();
// 启动时记为最后一次活跃接收
LastActive = Sys.Ms();
@ -463,6 +466,8 @@ bool TokenClient::OnRedirect(HelloMessage& msg)
if (!(msg.ErrCode == 0xFE || msg.ErrCode == 0xFD)) return false;
VisitToken = msg.VisitToken;
// 0xFE永久改变厂商地址
if (msg.ErrCode == 0xFE)
{
@ -580,6 +585,8 @@ void TokenClient::Login()
RC4::Encrypt(arr, cfg->Pass());
login.Pass = arr.ToHex();
login.VisitToken = VisitToken;
TokenMessage msg(2);
login.WriteMessage(msg);
login.Show(true);

View File

@ -25,6 +25,8 @@ public:
int Delay; // 心跳延迟。一条心跳指令从发出到收到所花费的时间
int MaxNotActive; // 最大不活跃时间ms超过该时间时重启系统。默认0
String VisitToken; // 访问令牌
TokenController* Master; // 主通道
List<TokenController*> Controls; // 从通道
IList Sessions; // 会话集合