Exemplo n.º 1
0
        public void ExecuteCommand(GameSession session, ProtobufRequestInfo requestInfo)
        {
            var    loginStr     = GetLoginInfoStr.ParseFrom(requestInfo.Body);
            string loginInfoStr = string.Empty;

            try
            {
                loginInfoStr = common.DESEncrypt.Decrypt(loginStr.CertStr);
            }
            catch (Exception ex)
            {
                session.Logger.Error(ex);
            }
            var data = ReturnLoginInfoStr.CreateBuilder().SetLoginInfoStr(loginInfoStr).Build().ToByteArray();

            session.Send(new ArraySegment <byte>(CreateHead.CreateMessage(11004, data.Length, 100003, data)));
        }
Exemplo n.º 2
0
        /// <summary>
        /// 根据证书获取用户登录信息
        /// </summary>
        /// <param name="userID"></param>
        /// <returns></returns>
        public static string GetloginInfoByCertStr(string certStr)
        {
            var data = GetLoginInfoStr.CreateBuilder().SetCertStr(certStr).Build().ToByteArray();

            try
            {
                var resData = new MySocket(host, port).SendReceive(CreateHead.CreateMessage(11003, data.Length, 0, data));
                if (resData.FirstOrDefault() != null)
                {
                    return(ReturnLoginInfoStr.ParseFrom(resData.FirstOrDefault().Data).LoginInfoStr);
                }
            }
            catch (Exception ex)
            {
                MyLogger.Logger.Info("请求用户登录:" + ex);
            }
            return("");
        }