默认
发表评论 25
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
引用:JackJiang 发表于 2022-09-19 23:35
在设计这种分布式系统时,尽量不要把逻辑复杂性扩散,经如重传机制你只让服务端管理,其它涉及到的路径只 ...

这需要发送端和服务端分别都有重传机制吧,因为相当于是两个包来回
引用:PottermoreIron 发表于 2024-01-29 14:45
这需要发送端和服务端分别都有重传机制吧,因为相当于是两个包来回

对,所谓的ping包和pong包,就像打乒乓球一样
引用:JackJiang 发表于 2024-01-29 14:50
对,所谓的ping包和pong包,就像打乒乓球一样

站长,我还有个问题是,发送端的重发机制里,服务端怎么判断是否是重复消息呢?发送端发送消息的时候消息id还没生成,直到服务器保存了消息后才有的消息id。这样假设服务器确实保存了A发过来的消息,但S->A的ACK包丢失,A重发,那么对于服务器来说这就是一条新消息,继续保存到db,但其实这是一条重复消息。这有什么办法解决呢?
引用:PottermoreIron 发表于 2024-01-29 14:55
站长,我还有个问题是,发送端的重发机制里,服务端怎么判断是否是重复消息呢?发送端发送消息的时候消息 ...

消息id客户端生成吧,比如微信的方案:《IM消息ID技术专题(一):微信的海量IM聊天消息序列号生成实践(算法原理篇)
引用:JackJiang 发表于 2024-01-29 14:58
消息id客户端生成肯定吧,比如微信的方案:《IM消息ID技术专题(一):微信的海量IM聊天消息序列号生成实践 ...

谢谢站长,我去看看
引用:PottermoreIron 发表于 2024-01-29 15:00
谢谢站长,我去看看

打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部