VisitToken -> Cookie

This commit is contained in:
WangQiang 2016-08-01 13:58:24 +00:00
parent 4cc834c830
commit 79c5a94a79
6 changed files with 15 additions and 14 deletions

View File

@ -7,7 +7,7 @@
// 错误0xFE/0xFD + 1协议 + S服务器 + 2端口
// 初始化消息各字段为0
HelloMessage::HelloMessage() : Cipher(1), Key(0)
HelloMessage::HelloMessage() : Cipher(1), Key(0), Cookie(0)
{
Version = Sys.Ver;
@ -22,7 +22,7 @@ HelloMessage::HelloMessage() : Cipher(1), Key(0)
Uri.Type = NetType::Udp;
}
HelloMessage::HelloMessage(const HelloMessage& msg) : MessageBase(msg), Cipher(1), Key(0)
HelloMessage::HelloMessage(const HelloMessage& msg) : MessageBase(msg), Cipher(1), Key(0), Cookie(1)
{
Version = msg.Version;
Type = msg.Type;
@ -31,6 +31,7 @@ HelloMessage::HelloMessage(const HelloMessage& msg) : MessageBase(msg), Cipher(1
EndPoint = msg.EndPoint;
Cipher.Copy(0, msg.Cipher, 0, msg.Cipher.Length());
Key.Copy(0, msg.Key, 0, msg.Key.Length());
Cookie.Copy(0, msg.Cookie, 0, msg.Cookie.Length());
ErrCode = msg.ErrCode;
//Protocol = msg.Protocol;
@ -64,7 +65,7 @@ bool HelloMessage::Read(Stream& ms)
uribp.Get("Port", uintPort);
Uri.Port = uintPort ;
}
bp.Get("VisitToken", VisitToken);
bp.Get("Cookie", Cookie);
return false;
}
@ -90,7 +91,7 @@ bool HelloMessage::Read(Stream& ms)
bp.Get("EndPoint", EndPoint);
bp.Get("Cipher", Cipher);
bp.Get("Key", Key);
bp.Get("VisitToken", VisitToken);
bp.Get("Cookie", Cookie);
return false;
}
@ -100,7 +101,7 @@ void HelloMessage::Write(Stream& ms) const
{
BinaryPair bp(ms);
if(ErrCode != 0) bp.Set("ErrorCode", ErrCode);
if(VisitToken.Length())bp.Set("VisitToken", VisitToken);
if(Cookie.Length())bp.Set("Cookie", Cookie);
bp.Set("Ver", Version);
bp.Set("Type", Type);
bp.Set("Name", Name);

View File

@ -27,7 +27,7 @@ public:
//String Server; // 服务器地址。可能是域名或IP
//ushort Port; // 本地端口
NetUri Uri;
String VisitToken; //访问令牌
String Cookie; //访问令牌
// 初始化消息各字段为0
HelloMessage();

View File

@ -40,7 +40,7 @@ void LoginMessage::Write(Stream& ms) const
{
bp.Set("UserName", User);
bp.Set("Password", Pass);
bp.Set("VisitToken", VisitToken);
bp.Set("Cookie", Cookie);
if (Salt.Length() > 0)
bp.Set("Salt", Salt);
@ -71,7 +71,7 @@ String& LoginMessage::ToStr(String& str) const
return str;
}
str = str + " User=" + User + " Pass=" + Pass + " Salt=" + Salt;
if (VisitToken.Length()) str = str + " VisitToken "+ VisitToken;
if (Cookie.Length()) str = str + " Cookie "+ Cookie;
return str;
}

View File

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

View File

@ -60,7 +60,7 @@ void TokenClient::Open()
//if (cs.Count() > 0) _taskBroadcast = Sys.AddTask(BroadcastHelloTask, this, 7000, 37000, "令牌广播");
auto cfg = Cfg;
VisitToken = cfg->Token();
Cookie = cfg->Token();
// 启动时记为最后一次活跃接收
LastActive = Sys.Ms();
@ -467,7 +467,7 @@ bool TokenClient::OnRedirect(HelloMessage& msg)
if (!(msg.ErrCode == 0xFE || msg.ErrCode == 0xFD)) return false;
VisitToken = msg.VisitToken;
Cookie = msg.Cookie;
// 0xFE永久改变厂商地址
if (msg.ErrCode == 0xFE)
@ -478,7 +478,7 @@ bool TokenClient::OnRedirect(HelloMessage& msg)
cfg->Protocol = msg.Uri.Type;
cfg->Server() = msg.Uri.Host;
cfg->ServerPort = msg.Uri.Port;
cfg->Token() = msg.VisitToken;
cfg->Token() = msg.Cookie;
cfg->Save();
cfg->Show();
@ -586,7 +586,7 @@ void TokenClient::Login()
RC4::Encrypt(arr, cfg->Pass());
login.Pass = arr.ToHex();
login.VisitToken = VisitToken;
login.Cookie = Cookie;
TokenMessage msg(2);
login.WriteMessage(msg);

View File

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