public static void LoadServerRanking()
        {
            try
            {
                var          ranking      = RankingFactory.Get <UserRank>(LevelRanking.RankingKey);
                LevelRanking levelranking = ranking as LevelRanking;
                levelranking.rankingData.RankTime = DateTime.Now;
                levelranking.rankingData.RankList.Clear();


                foreach (var v in ServerSet.Set)
                {
                    string   url   = v.ServerUrl;
                    string[] split = url.Split(':');
                    url = "http://" + split[0] + ":8091/GlobalCommon.aspx?";
                    url = url + HttpUtility.UrlEncode("ID=LevelRankingData");

                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                    request.Timeout = 5000;
                    request.Method  = "GET";
                    WebResponse     webresponse  = request.GetResponse();
                    HttpWebResponse httpResponse = (HttpWebResponse)webresponse;
                    Stream          stream       = httpResponse.GetResponseStream(); //获取响应的字符串流  
                    StreamReader    sr           = new StreamReader(stream);         //创建一个stream读取流  
                    string          data         = sr.ReadToEnd();                   //从头读到尾,放到字符串html  

                    if (data != null && data.Length > 0)
                    {
                        byte[]           bytes = Convert.FromBase64String(data);
                        MessageStructure ms    = new MessageStructure(bytes);

                        int listsize = ms.ReadInt();
                        for (int i = 0; i < listsize; ++i)
                        {
                            UserRank rank = new UserRank();
                            rank.UserID     = ms.ReadInt();
                            rank.NickName   = ms.ReadString();
                            rank.Profession = ms.ReadInt();
                            rank.RankId     = ms.ReadInt();
                            rank.UserLv     = ms.ReadInt();
                            rank.AvatarUrl  = ms.ReadString();
                            rank.FightValue = ms.ReadInt();
                            rank.VipLv      = ms.ReadInt();
                            levelranking.rankingData.RankList.Add(rank);
                        }
                    }
                }


                Ranking <UserRank> levelRanking = RankingFactory.Get <UserRank>(LevelRanking.RankingKey);
                levelRanking.ForceRefresh();
            }
            catch (Exception ex)
            {
                new BaseLog().SaveLog(ex);
                return;
            }
        }
Exemplo n.º 2
0
        protected override bool DecodePacket(MessageStructure reader, MessageHead head)
        {
            _session.Context.SessionId = reader.ReadString();
            _session.Context.UserId    = reader.ReadString().ToInt();
            int    UserType  = reader.ReadInt();
            string LoginTime = reader.ReadString();
            int    GuideID   = reader.ReadInt();

            if (GuideID == 1005)
            {
                SetChildStep("1005");
            }
            return(true);
        }
Exemplo n.º 3
0
        public static void SendToServer(string serverProxy, STS sts, JsonData json, Action <JsonData> callback)
        {
            ServerService service = null;

            if (!mServerServices.TryGetValue(serverProxy, out service))
            {
                return;
            }

            RequestParam param = new RequestParam();

            param["sts"]      = (int)sts;
            param["data"]     = json.ToJson();
            param["response"] = (byte)((callback != null) ? 1 : 0);
            service.Service.Call("RemoteHandle", param, (result) =>
            {
                var reader        = new MessageStructure(result.Message as byte[]);
                string jsonStr    = reader.ReadString();
                JsonData jsonData = JsonMapper.ToObject(jsonStr);
                if (callback != null)
                {
                    callback(jsonData);
                }
            });
        }
Exemplo n.º 4
0
        public static void LoadServerConfig()
        {
            try
            {
                string         url        = ConfigurationManager.AppSettings["ServerSerUrl"];
                HttpStatusCode statusCode = (HttpStatusCode)0;
                byte[]         data       = HttpPostManager.GetPostData(url, null, out statusCode);

                if (data != null && data.Length > 0)
                {
                    MessageStructure ms = new MessageStructure(data);
                    int    length       = ms.ReadInt();
                    int    errcode      = ms.ReadInt();
                    int    msgid        = ms.ReadInt();
                    string errorInfo    = ms.ReadString();
                    int    actionId     = ms.ReadInt();
                    string st           = ms.ReadString();
                    int    lastloginid  = ms.ReadInt();
                    int    listsize     = ms.ReadInt();
                    for (int i = 0; i < listsize; ++i)
                    {
                        ServerInfo info = new ServerInfo();
                        info.ID           = ms.ReadInt();
                        info.ServerName   = ms.ReadString();
                        info.Status       = ms.ReadString();
                        info.StatusCode   = ms.ReadInt();
                        info.ServerUrl    = ms.ReadString();
                        info.Weight       = ms.ReadInt();
                        info.TargetServer = ms.ReadInt();
                        Set.Add(info);
                    }

                    TraceLog.WriteLine("Request server list successful!");
                }
                else
                {
                    TraceLog.ReleaseWrite("Request server list fail result:{0}, request url:{1}", data, url);
                    return;
                }
            }
            catch (Exception ex)
            {
                new BaseLog().SaveLog(ex);
                return;
            }
        }
Exemplo n.º 5
0
        protected override bool DecodePacket(MessageStructure reader, MessageHead head)
        {
            int    msgLenth = reader.ReadInt();
            string msgBody  = reader.ReadString();

            _session.Context.SessionId = msgBody;

            return(true);
        }
Exemplo n.º 6
0
        protected override void SuccessCallback(MessageStructure writer, MessageHead head)
        {
            int type = writer.ReadInt();

            if (type == 1)
            {
                int               recordCount   = writer.ReadInt();
                JsonObject        jsonContainer = new JsonObject();
                List <JsonObject> jsonList      = new List <JsonObject>();
                for (int i = 0; i < recordCount; i++)
                {
                    writer.RecordStart();
                    var item = new JsonObject();
                    item.Add("NoticeID", writer.ReadString());
                    item.Add("Title", writer.ReadString());
                    item.Add("Content", writer.ReadString());
                    item.Add("IsBroadcast", writer.ReadInt());
                    item.Add("IsTop", writer.ReadInt());
                    item.Add("Creater", writer.ReadString());
                    item.Add("CreateDate", writer.ReadString());
                    item.Add("ExpiryDate", writer.ReadString());
                    jsonList.Add(item);
                    writer.RecordEnd();
                }
                jsonContainer.Add("total", recordCount);
                jsonContainer.Add("rows", jsonList.ToArray());
                WriteTableJson(jsonContainer);
            }
        }
Exemplo n.º 7
0
        public static bool GetFieldValue(MessageStructure ms, FieldType fieldType, ref string val)
        {
            bool result = false;

            switch (fieldType)
            {
            case FieldType.Int:
                val    = ms.ReadInt().ToString();
                result = true;
                break;

            case FieldType.Password:
            case FieldType.String:
                val    = ms.ReadString();
                result = true;
                break;

            case FieldType.Short:
                val    = ms.ReadShort().ToString();
                result = true;
                break;

            case FieldType.Byte:
                val    = ms.ReadByte().ToString();
                result = true;
                break;

            case FieldType.Long:
                val    = ms.ReadLong().ToString();
                result = true;
                break;

            case FieldType.Bool:
                val    = ms.ReadBool().ToString();
                result = true;
                break;

            case FieldType.Float:
                val    = ms.ReadFloat().ToString();
                result = true;
                break;

            case FieldType.Double:
                val    = ms.ReadDouble().ToString();
                result = true;
                break;

            case FieldType.DateTime:
                val    = ms.ReadDateTime().ToString();
                result = true;
                break;

            case FieldType.ULong:
                val    = ms.ReadUInt64().ToString();
                result = true;
                break;

            case FieldType.UInt:
                val    = ms.ReadUInt32().ToString();
                result = true;
                break;

            case FieldType.UShort:
                val    = ms.ReadUInt16().ToString();
                result = true;
                break;

            case FieldType.Record:
                break;

            case FieldType.End:
                break;

            case FieldType.Void:
                break;

            default:
                break;
            }

            return(result);
        }
Exemplo n.º 8
0
 protected override void SuccessCallback(MessageStructure writer, MessageHead head)
 {
     result = writer.ReadString();
 }