Day: 2016年12月5日

微信为什么不丢消息?

上一章和大家分享了《 http如何像tcp一样实时的收消息? 》 , 本章来聊一聊即时通讯(Instant Messaging,后简称im) 消息的可靠投递

一、报文类型 im的客户端与服务器通过发送报文(也就是网络包)来完成消息的传递,报文分为三种

请求报文 (request,后简称为为R)

应答报文 (acknowledge,后简称为A)…

微信为啥不丢 “离线消息”?

需求缘起

当发送方用户 A 发送消息给接收方用户 B 时, 如果用户 B 在线 ,之前的文章《 微信为啥不丢“在线消息”? 》聊过,可以通过 应用层的确认,发送方的超时重传,接收方的去重保证业务层面消息的不丢不重 。

那如果接收方用户 B 不在线 ,系统是如何保证消息的可达性的呢?这是本文要讨论的问题。…