微信是如何做到消息撤回的?官方详解背后原理

2016-07-27 19:56IT之家 - 汐元

IT之家讯 7月27日消息,人有失“口”,马有失蹄,不得不说微信和QQ的消息撤回功能在用户日常聊天中作用巨大,是一个解决痛点的功能。那么这个功能是如何做到的呢?目前,微信官方以微信的消息撤回功能为例,详解了背后的技术原理。

微信介绍称,“MobileA发送消息时,会在自己的微信客户端上生成全球唯一的UniqueMsgID,并将该UniqueMsgID附带在即将发送的消息体中。”而当消息撤回时,“MobleA知道自己已经发送的每一条消息体的UniqueMsgID,需要撤回哪一条,则将那一条消息的UniqueMsgID附带在撤回命令中。MoblieB收到撤回命令时,根据撤回命令中的UniqueMsgID,在自己的数据库中,寻找对应的消息体,然后予以撤回效果展示。”也就是说,在这个过程中,记录每条消息唯一性的UniqueMsgID起到了非常重要的作用。

这样,当你在聊天时候一不小心嘴上以糊涂,说了不该说的话,也就能够有后悔药吃了。

至于为何发送出去超过两分钟的消息就不能撤回了,微信解释称,根据统计,2分钟是从接收到阅读一条信息的平均时长。如果更久之前的消息撤回了,对方很可能已经看过了,再撤回会造成尴尬,另外,这也是为了保证消息历史的完整性。而若短于两分钟,很可能让用户失去撤回消息的机会。

另外,为什么撤回消息的时候会在聊天记录里有提示呢?这让很多想悄悄撤回消息的用户很苦恼,而微信解释为:“微信的消息撤回有点像邮件的撤回。在发出去的那一刻,其实已经在锁屏处“通知“到对方了,所以很难做到无痕。”

广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

文章价值:
人打分
有价值还可以无价值
置顶评论
    热门评论
      全部评论
      一大波评论正在路上
        取消发送
        软媒旗下人气应用

        如点击保存海报无效,请长按图片进行保存分享