令牌客户端携带令牌跳转,未完成
This commit is contained in:
parent
5a7fd3441b
commit
d0a8b62ed6
|
@ -10,6 +10,7 @@ public:
|
||||||
String User; // 登录名
|
String User; // 登录名
|
||||||
String Pass; // 登录密码
|
String Pass; // 登录密码
|
||||||
ByteArray Salt; // 加盐
|
ByteArray Salt; // 加盐
|
||||||
|
String VisitToken; // 访问令牌
|
||||||
|
|
||||||
uint Token; // 令牌
|
uint Token; // 令牌
|
||||||
ByteArray Key; // 登录时会发通讯密码
|
ByteArray Key; // 登录时会发通讯密码
|
||||||
|
|
|
@ -59,10 +59,13 @@ void TokenClient::Open()
|
||||||
// 令牌广播使用素数,避免跟别的任务重叠
|
// 令牌广播使用素数,避免跟别的任务重叠
|
||||||
//if (cs.Count() > 0) _taskBroadcast = Sys.AddTask(BroadcastHelloTask, this, 7000, 37000, "令牌广播");
|
//if (cs.Count() > 0) _taskBroadcast = Sys.AddTask(BroadcastHelloTask, this, 7000, 37000, "令牌广播");
|
||||||
|
|
||||||
// 启动时记为最后一次活跃接收
|
auto cfg = Cfg;
|
||||||
LastActive = Sys.Ms();
|
VisitToken = cfg->Token();
|
||||||
|
|
||||||
Opened = true;
|
// 启动时记为最后一次活跃接收
|
||||||
|
LastActive = Sys.Ms();
|
||||||
|
|
||||||
|
Opened = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TokenClient::Close()
|
void TokenClient::Close()
|
||||||
|
@ -463,13 +466,15 @@ bool TokenClient::OnRedirect(HelloMessage& msg)
|
||||||
|
|
||||||
if (!(msg.ErrCode == 0xFE || msg.ErrCode == 0xFD)) return false;
|
if (!(msg.ErrCode == 0xFE || msg.ErrCode == 0xFD)) return false;
|
||||||
|
|
||||||
|
VisitToken = msg.VisitToken;
|
||||||
|
|
||||||
// 0xFE永久改变厂商地址
|
// 0xFE永久改变厂商地址
|
||||||
if (msg.ErrCode == 0xFE)
|
if (msg.ErrCode == 0xFE)
|
||||||
{
|
{
|
||||||
auto cfg = Cfg;
|
auto cfg = Cfg;
|
||||||
cfg->Show();
|
cfg->Show();
|
||||||
|
|
||||||
cfg->Protocol = msg.Uri.Type;
|
cfg->Protocol = msg.Uri.Type;
|
||||||
cfg->Server() = msg.Uri.Host;
|
cfg->Server() = msg.Uri.Host;
|
||||||
cfg->ServerPort = msg.Uri.Port;
|
cfg->ServerPort = msg.Uri.Port;
|
||||||
cfg->Token() = msg.VisitToken;
|
cfg->Token() = msg.VisitToken;
|
||||||
|
@ -580,6 +585,8 @@ void TokenClient::Login()
|
||||||
RC4::Encrypt(arr, cfg->Pass());
|
RC4::Encrypt(arr, cfg->Pass());
|
||||||
login.Pass = arr.ToHex();
|
login.Pass = arr.ToHex();
|
||||||
|
|
||||||
|
login.VisitToken = VisitToken;
|
||||||
|
|
||||||
TokenMessage msg(2);
|
TokenMessage msg(2);
|
||||||
login.WriteMessage(msg);
|
login.WriteMessage(msg);
|
||||||
login.Show(true);
|
login.Show(true);
|
||||||
|
|
|
@ -25,6 +25,8 @@ public:
|
||||||
int Delay; // 心跳延迟。一条心跳指令从发出到收到所花费的时间
|
int Delay; // 心跳延迟。一条心跳指令从发出到收到所花费的时间
|
||||||
int MaxNotActive; // 最大不活跃时间ms,超过该时间时重启系统。默认0
|
int MaxNotActive; // 最大不活跃时间ms,超过该时间时重启系统。默认0
|
||||||
|
|
||||||
|
String VisitToken; // 访问令牌
|
||||||
|
|
||||||
TokenController* Master; // 主通道
|
TokenController* Master; // 主通道
|
||||||
List<TokenController*> Controls; // 从通道
|
List<TokenController*> Controls; // 从通道
|
||||||
IList Sessions; // 会话集合
|
IList Sessions; // 会话集合
|
||||||
|
|
Loading…
Reference in New Issue