IT之家讯 7月27日消息,人有失“口”,马有失蹄,不得不说微信和QQ的消息撤回功能在用户日常聊天中作用巨大,是一个解决痛点的功能。那么这个功能是如何做到的呢?目前,微信官方以微信的消息撤回功能为例,详解了背后的技术原理。
微信介绍称,“MobileA发送消息时,会在自己的微信客户端上生成全球唯一的UniqueMsgID,并将该UniqueMsgID附带在即将发送的消息体中。”而当消息撤回时,“MobleA知道自己已经发送的每一条消息体的UniqueMsgID,需要撤回哪一条,则将那一条消息的UniqueMsgID附带在撤回命令中。MoblieB收到撤回命令时,根据撤回命令中的UniqueMsgID,在自己的数据库中,寻找对应的消息体,然后予以撤回效果展示。”也就是说,在这个过程中,记录每条消息唯一性的UniqueMsgID起到了非常重要的作用。
这样,当你在聊天时候一不小心嘴上以糊涂,说了不该说的话,也就能够有后悔药吃了。
至于为何发送出去超过两分钟的消息就不能撤回了,微信解释称,根据统计,2分钟是从接收到阅读一条信息的平均时长。如果更久之前的消息撤回了,对方很可能已经看过了,再撤回会造成尴尬,另外,这也是为了保证消息历史的完整性。而若短于两分钟,很可能让用户失去撤回消息的机会。
另外,为什么撤回消息的时候会在聊天记录里有提示呢?这让很多想悄悄撤回消息的用户很苦恼,而微信解释为:“微信的消息撤回有点像邮件的撤回。在发出去的那一刻,其实已经在锁屏处“通知“到对方了,所以很难做到无痕。”
本文来源:不详 作者:佚名