IM消息递增去重

379 阅读1分钟

TCP 传输控制协议 面向连接 发出去后接收方再发个ACK报文告诉已经收到了 (Transmission Control Protocol)

UDP 用户数据包服务 无连接 发出后不管 快 视频 直播 QQ (User Datagram Protocol)

IM 保证消息不漏 唯一

应用层ACK

msg(msgid, seqid)

msgid 去重 seqid 单调递增 保证顺序

根据每个用户userid 设计 seqsevr

www.52im.net/thread-1998…

单聊离线增量:

最后一次 seqid

群聊增量:

一个数据库保存全部消息 然后 根据 last_ack_id 取离线消息

(groupid userid last_ack_id)


UDP 保证可靠性

向前纠错 FEC Forward Error Correctio

关键帧重传 ARQ Automatic Repeat reQuest

码率自适应 ABC Adaptive Bit-rate Control

UICQ

yunxin.163.com/blog/zhuan-…