默认
发表评论 2
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
IM发送消息后,还未等到服务器返回确认包,断网了,如何处理
阅读(18608) | 评论(2 收藏 淘帖1

问题来源链接的文章:《IM消息送达保证机制实现(一):保证在线实时消息的可靠投递

假如msg-A,这个包丢失了,A发送消息,服务器接收到了,之后又转发给用户B了,但是A不知道服务器接收到了,也不知道这个消息被转发给用户B了,这个时候不是通常客户端会有一个消息发送超时机制嘛,用来判断这个消息是否发送成功了,但如果消息发送出去了,但是A不知道这个消息发送出去了,A的客户端的这一条消息的状态就相当于是一个红色感叹号的状态,这样子的情况要怎么处理呢,又要怎么保证消息的双方的确认性呢

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

上一篇:开源GGTalk聊天软件有了解的吗,不支持ipv6下一篇:求教IM离线消息,是推好一些,还是拉好一点

本帖已收录至以下技术专辑

推荐方案
评论 2
首先正常发的时候,就会有ACK应答过来,而到了重传的时候,那至少已经是第2次发了,而且重传通常也不只重传一次。

不至于这么凑巧,次次都丢吧。。。 这概率也太小了。。
如果这种极小甚至不可能出现的概率发生了,那也无所谓,必竟聊天消息就是人说话,说出去的话或许对方真没听到,这也符合情理,大不了再说一次(再次重发)。

聊天不是金融账单,是允许万有一失的。
引用:JackJiang 发表于 2022-05-06 21:10
首先正常发的时候,就会有ACK应答过来,而到了重传的时候,那至少已经是第2次发了,而且重传通常也不只重传 ...

明白,明白,

感谢坛主的回复
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部