RSS

为什么微信的撤回消息只能是2分钟?


     
     古人有云,“一言既出,驷马难追”,可见对说出口的话,是多么重视。
     可是,人总有说错话的时候啊。
     为了解决“手滑”的烦恼,微信在 5.3.1.16 版本中上线了“微信撤回”的功能,对于发出 2 分钟以内的信息提供撤回选项↓↓↓
     用户长按发出的消息,在多选中选择撤回。
     那么问题来了……
     为什么发出的消息可以轻松撤回?
     在韩剧《来自星星的你》中,为了不让千颂伊看到下意识发出的“表白”短信,wuli 都教授可是不惜动用时空穿梭和空间静止两大“杀器”。
     其实不用羡慕都教授,自从有了微信撤回功能,每个微信用户都可以媲美超能力,轻轻松松撤回消息。
     那么,不借助超能力,微信是如何同时从双方手机上实现信息撤回的呢?
     以 MobileA 给 MobileB 发送消息与消息撤回为例:
     A、MobileA 发送消息时,会在自己的微信客户端上生成全球唯一的 UniqueMsgID,并将该 UniqueMsgID 附带在即将发送的消息体中。
     B、MobileB 收到消息时,将消息体存储起来,并展示该消息。
     C、MobileA 撤回消息时,MobileA 知道自己已经发送的每一条消息体的 UniqueMsgID,需要撤回哪一条,则将那一条消息的 UniqueMsgID 附带在撤回命令中。
     D、MobileB 收到撤回命令时,根据撤回命令中的 UniqueMsgID,在自己的数据库中,寻找对应的消息体,然后予以撤回效果展示。
     为什么微信撤回消息只能是 2 分钟?
     移动互联网时代促使人人处于一个信息异步处理的时代,大部分人都会过一段时间才会去处理消息,相比之下,两分钟的时间看上去有点太短了,常常遭遇到想撤回的时候才发现已经超过有效期的窘境。
     那么,我们需要设定撤回期限吗?答案无疑是肯定的。
     在双方对话中,如果不设定撤回时间,就会产生两个危害:
&