LAYIM使用心得_2

一、数据库好友实体与线上对应

1、一次读取数据库所有用户信息展示。

2、一一对应 (通过链接用户的Id一一对应)

        /// <summary>
        /// 客户端连接的时候调用
        /// </summary>
        /// <returns></returns>
        public override Task OnConnectedAsync()
        {
            Trace.WriteLine("客户端连接成功");
            return base.OnConnectedAsync();
        }//所有链接的客户端都会在这里

要有所关联,每行记录的id 必须和链接时声明的id对应

每行记录的id 容易取,即一次性读取,

连接时候的id --对应。

好友列表和消息列表2种情况

已知道:能获取所有客户端的链接(这个链接会非常大,多少亿人的链接,但是自己账户的人确实很少),

1、所以一个用户刚登陆的情况:

就要读取数据库该用户所有好友,将链接的所有客户端有该用户好友的全部点亮。

2、分组也是如上一样

3、消息的话情况

3、1 一方在线的情况下  通过客户端发送到我们的Signalr中转服务中,我们先存储数据库设置未读,在线则推送,否则取消

3、2  上线的情况  客户 但是 用户先读取用户列表点亮,然后才有消息之说,判断是否有未读消息,有就从数据库读取消息推送到客户那边。

  并将消息状态更改已读 ,然后 根据用户是否在线,推送成功消息的id表示展示效果已读。

猜你喜欢

转载自www.cnblogs.com/fger/p/11593595.html
今日推荐