默认
发表评论 25
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
做法一: 上层做重发,例如可以失败后第一次10秒重发,再失败30秒,再失败60秒,再失败提示用户。
做法二: 失败直接提示用户,让用户主动去重发。
无论哪种做法,只是产品设计的不同,都需要做去重处理,每个客户端要维护一个自增长id,服务器只保存收到的最后一条消息的id,客户端再来消息后,只需要判断来自客户端的id是否大于服务器保存的这个就可以。

评分

1

查看评分

评论 25
每一个消息要有ID,然后消息有回执,就不会发生重发的情况了。

TCP本身是有重发,但是网络总是很复杂的,需要再加重发来提高消息成功率。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部