微信消息为什么能撤回?终于搞懂了

时间:2019-04-03 03:08:08 | 作者:爱科技网 | 点击: 142 次

大家都知道,微信有个“后悔药”——消息撤回,即发出后2分钟内的消息不再让对方看到,仅留下一个看起来比较脑残的文字提示。

关于为何限制为2分钟、以及为何会出现文字提示,我们之前已经进行过解答。

另一个问题是,微信是如何做到“覆水回收”的呢?

微信消息为什么能撤回?终于搞懂了

微信消息为什么能撤回?终于搞懂了

以MobleA给MobileB发送消息与消息撤回为例:

A.MobileA发送消息时,会在自己的微信客户端上生成全球唯一的UniqueMsgID,并将该UniqueMsgID附带在即将发送的消息体中。

B.MobileB收到消息时,将消息体存储起来,并展示该消息。

C.MoblieA撤回消息时,MobleA知道自己已经发送的每一条消息体的UniqueMsgID,需要撤回哪一条,则将那一条消息的UniqueMsgID附带在撤回命令中。

D.MoblieB收到撤回命令时,根据撤回命令中的UniqueMsgID,在自己的数据库中,寻找对应的消息体,然后予以撤回效果展示。

微信消息为什么能撤回?终于搞懂了

微信消息为什么能撤回?终于搞懂了