很多同学不清楚消息的可靠传递六步机制

前提: 保证消息可靠的核心机制---超时、重传、确认,虽然TCP机制可以保证消息的可靠传递,但这是基于C/S或B/S通信,如果是A端-Server-B端需要在应用层去保证消息的可靠传递.
现状:和很多朋友聊天,说IM只需要5步就可以,为什么需要6步
场景:客户端A给客户端B发送一条消息(客户端A、B和服务端S)
过程

假设客户端B是在线状态
1、客户端A给服务端S发送一条消息
2、S根据消息id通过在线用户表找到客户端B的IP和端口,并给B发送一条消息
3、B收到消息并给服务端S返回已经收到消息的确认
4、S再给B一条已经收到消息的确认(如果S不给B确认,B会超时重传)
5、S给A发送一条B收到消息的确认
6、A给S回复一天确认消息(如果A不给S确认,S以为A没有收到,会触发超时重传)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容