,系统消息 3种消息,设计了3个表
为了使得客户端能够正常显示群消息,我们对群成员做了软删除处理,确保可以获取到群成员头像
用户可通过http接口,获得历史聊天记录
语音,图片,视频聊天
在上面我们可以看到...- 建立ping定时器,每隔30秒进行一次ping
- 通过ws接口,获得所有未读消息,客户端进行处理,推送到通知栏等
- 接收新消息推送,并显示到消息列表
- 当点击进某个群/好友消息界面时,自动获取最新...n条消息,用户上拉时继续获取n条
不同设备数据同步
为了服务端性能问题,所有消息记录,好友消息,群成员消息将缓存到客户端,当用户登录成功时
直接显示之前登录时的所有状态(消息列表,最后一条消息显示等)...当新设备登录时,只获取未读消息列表,其他消息需要点击某个好友/群,才会进行显示
fd->userId对应
当用户登录成功时,我们使用了swoole的Table进行存储fd->userId以及userId...userId,即可获得当前所有在线成员的fd,进行遍历推送
服务端推送问题
当A客户端在群发送一条消息时,由于群成员可能有很多,如果直接同步推送给所有群成员,会造成A客户端等待响应时间过长的情况
所以需要使用