private void OnRegistVerifyReq(Datagram datagram) { RegistVerifyReq req = datagram.UnSerialData <RegistVerifyReq>(); RegistResponse response = new RegistResponse(); if (EmailRequestCache.TryRemove(req.NextLabel, out EmailRequestPackage value)) { if (InternalTools.VerificateCode(value.Verify, req.Verifies)) { Guid guid = Guid.NewGuid(); if (OperationFinishCache.TryAdd ( guid, new KeyValuePair <string, DateTime>(value.Email, DateTime.Now) )) { response.NextLabel = guid; } } } datagram.DataType = DatagramType.Client; datagram.MessageType = LoginMessageType.RegistVerifyRes; datagram.Datas = response.ToByteArray(); if (!Send(datagram.ToByteArray())) { Notify(IKXTServer.LogLevel.Error, "数据发送异常"); Close(); } }
bool IDataSender.RegistVerifyReq(Guid request_id, RegistVerifyReq req) { Datagram datagram = new Datagram { DataType = DatagramType.Login, MessageType = LoginMessageType.RegistVerifyReq, RequestID = request_id, Datas = req.ToByteArray() }; return(Send(datagram)); }