Example #1
0
        /// <summary>
        /// 好友数据、历史消息
        /// </summary>
        /// <param name="client"></param>
        private async void GetUserAndMsgList(IClient client)
        {
            var userListStr = await _redisMessageManage.GetUserList();

            var userListMsg = new MsgEntity
            {
                MsgId   = Guid.NewGuid().ToString().Replace("-", "").ToLower(),
                Type    = (int)MsgTypeEnum.获取好友数据,
                Data    = userListStr.JsonSerialize(),
                CurTime = DateTime.Now.ConvertDateTimeToInt(),
                FromId  = client.ClientId,
                ToId    = string.Empty
            };

            client.Socket?.Send(new [] { userListMsg }.JsonSerialize());


            var msgList = await _redisMessageManage.GetMsgList(client.ClientId);

            msgList = msgList.OrderBy(t => t.CurTime).ToList();
            foreach (var msg in msgList)
            {
                client.Socket?.Send(new[] { msg }.JsonSerialize());
            }
            await _redisMessageManage.DelAllMsg(client.ClientId);

            //while (true)
            //{
            //    Thread.Sleep(5);
            //    var msg = await _redisMessageManage.GetNextMsg(client.ClientId);
            //    if (msg == null || client.Socket == null) break;
            //    client.Socket?.Send(msg.JsonSerialize());
            //}
        }
Example #2
0
        /// <summary>
        /// 获取消息
        /// </summary>
        public JsonResult GetMsg(string channel, string userId)
        {
            var msg = _redisMessageManage.GetMsgList(channel);

            return(new JsonResult(msg));
        }