微信app消息可以撤回,那是如何实现的呢?
Post2016.08.26 09:11:07 Read529

微信消息可以撤回这是总所周知的,但撤回实现恐怕就不是那么多人晓得了,今天就由素素为小伙伴们揭开这层面纱。

设:现在有两个微信用户,A用户B用户正打算聊天。

过程:A用户B用户打开微信移动App,连接到了微信的服务器。

A用户发送包含消息的指令到服务器上,并且告诉服务器说,这条消息是我要发送给B用户的。

服务器收到A用户的指令后,拿到消息,将消息发送给B用户。

B用户移动客户端收到指令,显示收到的消息。

But,A用户发现消息发错了,是用来撤回功能,这时也向服务器发出撤回消息的指令。

服务器收到指令,向B用户移动客户端发出撤回消息的指令。

B用户移动客户端收到指令,隐藏收到的消息。

总结:以上就是微信消息撤回功能的一个简单流程,这里要说明的是微信app和服务器之间是保持着“长连接”的,这样服务器就可以主动的推送数据到客户端,所以当A用户执行撤回动作之后,B用户几乎可以立刻收到指令,隐藏消息。

还有一点就是微信的每条消息都是有一个唯一的UniqueMsgID(起到了非常重要的作用),这样才能精确的定位到要撤回的是哪一条消息。