,后台处理完该消息之后,会返回相同的标识符给与前端确认)
使用json字符串方式传递
同样,为了区分服务端不同的推送,我们定义了服务端的响应格式:
- op 命令(响应类型)
- args 额外参数
-...flagId":10086}`
目标用户将收到:
`{"op":1101,"args":{"fromUserId":"12","msgId":16},"msg":"test"}`
下文有许多op:xxx的数据...,可以忽略xxx的数据,直接联系上下文获得op的命令类型
聊天记录存储
根据消息的类型,我们区分了 私聊消息,群消息,系统消息 3种消息,设计了3个表
为了使得客户端能够正常显示群消息,我们对群成员做了软删除处理...,我们使用了swoole的Table进行存储fd->userId以及userId->fd的对应
通过这2者对应的存储,我们可以通过userId找到fd进行推送数据,也可以通过fd找到userId获取用户消息...,提示用户重发
当服务端响应成功时,将取消这个定时器,并直接将消息置为发送成功状态
本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn