后端框架
在后端框架上,我选用了php的easyswoole,easyswoole作为swoole中最简单易学的框架,上手简单,文档齐全,社区活跃
直接通过easyswoole官方文档的例子,即可实现一个...websocket服务器,并且还实现了对控制器的转发等:
https://www.easyswoole.com/Cn/Socket/webSocket.html
前后端通信协议
由于考虑到聊天室的业务逻辑复杂...,可以忽略xxx的数据,直接联系上下文获得op的命令类型
聊天记录存储
根据消息的类型,我们区分了 私聊消息,群消息,系统消息 3种消息,设计了3个表
为了使得客户端能够正常显示群消息,我们对群成员做了软删除处理...,向服务器获得之前的未读消息(网络不稳定断线重连)
当ws连接成功时,可通过该命令获取所有的未读好友消息:
`{"op":4001,"args":{"userId":null,"size":5},"msg...为了服务端性能问题,所有消息记录,好友消息,群成员消息将缓存到客户端,当用户登录成功时
直接显示之前登录时的所有状态(消息列表,最后一条消息显示等)
当新设备登录时,只获取未读消息列表,其他消息需要点击某个好友