52im_qr_即时通讯技术圈_400px.png (17.47 KB, 下载次数: 2253)
下载附件 保存到相册
4 年前 上传
{ "cmd":"chat", "time":1554964794220, "uid":"69212694", "clientInfo":{ "deviceId":"b3b1519c-89ec", "deviceInfo":"MI 6X" }, "body":{ "v":1, "msgId":"5ab2fe83-59ec-44f0-8adc-abf26c1e1029", "chatType":1, "ackFlg":1, "from":"69212694", "to":"872472068", "time":1554964793813, "msg":{ "message":"聊天消息" } } }
1.png (5.97 KB, 下载次数: 2256)
int max = 100; //从新库读 while (max > 0) { List<OfflineMsgInfo> offlineMsgListNew = shardChatOfflineMsgDao.getByToUid(uid, 20); if (CollectionUtils.isEmpty(offlineMsgListNew)) { break; } handleOfflineMsg(uid, offlineMsgListNew, checkOnlineWhenSendingOfflineMsg); max--; }
{ "sessionId1":{ "count":20, "lastMsg":[ "最后N条消息" ], "timestamp":1234567890 }, "sessionId2":{ } }
2.png (6.29 KB, 下载次数: 2297)
4.png (28.03 KB, 下载次数: 2303)
5.png (49.88 KB, 下载次数: 2194)
6.png (120.61 KB, 下载次数: 2276)
7.png (71.24 KB, 下载次数: 2926)
8.png (75.9 KB, 下载次数: 2284)
9.png (57.33 KB, 下载次数: 2361)
来源:即时通讯网 - 即时通讯开发者社区!
轻量级开源移动端即时通讯框架。
快速入门 / 性能 / 指南 / 提问
轻量级Web端即时通讯框架。
详细介绍 / 精编源码 / 手册教程
移动端实时音视频框架。
详细介绍 / 性能测试 / 安装体验
基于MobileIMSDK的移动IM系统。
详细介绍 / 产品截图 / 安装体验
一套产品级Web端IM系统。
详细介绍 / 产品截图 / 演示视频
引用此评论
引用:在每次下拉加载离线消息时,将收到的上一批离线消息的msgId或消息偏移量等信息发送给服务端,服务端直接根据msgId删除离线库中已经发送给客户端的离线消息,再返回给客户端下一批离线消息。
引用:JackJiang 发表于 2021-10-10 17:47 我在这个帖子里回复你了:http://www.52im.net/thread-3698-1-1.html
引用:小张 发表于 2021-10-09 21:08 我这边设计,基本都是文章中的一个套路(非一次性全量拉取,采用推拉方式)。但是,这些设计方式,对于单个 ...
引用:手写的从前 发表于 2020-12-31 14:44 我的意思是怎么判断一个消息应该不应该被拉取到客户端呢? 有一个拉取到的最新消息id吗?
引用:JackJiang 发表于 2020-12-31 13:58 尽量在客户端做去重容错,服务端为了防止露拉,可以把重复这个容忍度设计的高一点
引用:手写的从前 发表于 2020-12-31 12:55 那会不会因为某些原因导致在一个群里比如我已经拉去到消息id为100,但是又在存储中插入了一个id为99的消 ...
引用:JackJiang 发表于 2020-12-31 11:42 是这个意思。
引用:手写的从前 发表于 2020-12-31 11:16 这里的推是指推送《有新消息通知》,而拉指的是拉去消息本身吗?
引用:JackJiang 发表于 2020-08-06 12:33 1、不要用推,还是要用拉简单,这是主流作法。 2、文中的意思是拉未读数的时候就取首屏。
引用:JackJiang 发表于 2020-12-25 21:22 这么大量消息的情况下,最好是服务端推通知,客户端B收到通知后再分页拉取合理一点
引用:boboking1 发表于 2020-12-25 18:05 大佬,插个额外话题。客户端接受方B在线的时候,服务端发送海量数据(假设几万条)给B。现在有2个疑问 1 ...
引用:JackJiang 发表于 2020-11-03 13:55 他这个逻辑里,应该是会请求一次服务端,然后拉下所有离线消息,后绪直到退出app前,都以本地数据为准
引用:GarageBand 发表于 2020-11-03 14:03 意思是在群A中,比如有1000条未读消息,客户端下拉一次把1000数据一次性全部拉取存入本地数据库,后面下 ...
引用:GarageBand 发表于 2020-11-03 13:50 比如有100条未读消息,我只看了20条(拉取20条),这个时候客户端数据库中的消息就会“断层”,然后我重 ...
引用:JackJiang 发表于 2020-11-03 13:43 "如果客户端没拉完所有的离线消息,那么客户端会一直走请求": 这句怎么理解?用专业一点的话组织一下呢
引用:GarageBand 发表于 2020-11-03 13:39 按图中所3,4条所述,如果客户端没拉完所有的离线消息,那么客户端会一直走请求,当再次进入会话中,客户端 ...
精华主题数超过100个。
连续任职达2年以上的合格正式版主
为论区做出突出贡献的开发者、版主等。
Copyright © 2014-2024 即时通讯网 - 即时通讯开发者社区 / 版本 V4.4
苏州网际时代信息科技有限公司 (苏ICP备16005070号-1)
Processed in 0.171875 second(s), 43 queries , Gzip On.