默认
发表评论 28
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
楼主的意思是:
1:消息在发出之后**一段时间**没有应答才会提示失败。
2:在这“一段时间”之中,接收方上线并拉取了之前的离线消息,但是因为还在这个“一段时间”之中,所以最新的消息是还没有走到失败回调的。所以:接收方拉取到的离线消息会丢失(没有)这几条,需要再次拉取才会出现。
Android 端代码:

重连成功之后的处理:

-----------------
拉取未读消息的方法



Android 端代码:

重连成功之后的处理:
[已回复] 求助MobileIMSDK客户端在接收方断网重连情况下有消息服务端会转发失败_1111111203.png
-----------------
拉取未读消息的方法
[已回复] 求助MobileIMSDK客户端在接收方断网重连情况下有消息服务端会转发失败_2222222222272306.png


我们的问题你那边现在清楚了么?好担心我们说岔了
就是正常消息失败的验证是:发送完等“一段时间”如果没有应答判断为发送失败。
而在这“一段时间”之中如果接收方上线并拉取未读消息,但是服务端还没有到判断失败的时间,这一条消息就不回被接收方拉取。
服务端的代码

QQ截图20200928173201.png (104.46 KB, 下载次数: 2410)

QQ截图20200928173201.png
我大致明白你们的意思了。

你们试着改一下服务端的参数,把这个类的源码复制到你们工程(目的是覆盖sdk的jar中的同名文件):https://gitee.com/jackjiang/MobileIMSDK/blob/master/sdk_src/Server/MobileIMSDKServer_Open/src/net/x52im/mobileimsdk/server/qos/QoS4SendDaemonS2C.java

修改后的代码内容为:
/*
 * Copyright (C) 2020  即时通讯网(52im.net) & Jack Jiang.
 * The MobileIMSDK v5.x Project. 
 * All rights reserved.
 * 
 * > Github地址:[url]https://github.com/JackJiang2011/MobileIMSDK[/url]
 * > 文档地址:  [url]http://www.52im.net/forum-89-1.html[/url]
 * > 技术社区:  [url]http://www.52im.net/[/url]
 * > 技术交流群:320837163 ([url]http://www.52im.net/topic-qqgroup.html[/url])
 * > 作者公众号:“【即时通讯技术圈】”,欢迎关注!
 * > 联系作者:  [url]http://www.52im.net/thread-2792-1-1.html[/url]
 *  
 * "即时通讯网(52im.net) - 即时通讯开发者社区!" 推荐开源工程。
 * 
 * QoS4SendDaemonS2C.java at 2020-8-22 16:00:59, code by Jack Jiang.
 */
package net.x52im.mobileimsdk.server.qos;

import java.util.ArrayList;

public class QoS4SendDaemonS2C extends QoS4SendDaemonRoot
{
	private static QoS4SendDaemonS2C instance = null;
	
	public static QoS4SendDaemonS2C getInstance()
	{
		if(instance == null)
			instance = new QoS4SendDaemonS2C();
		return instance;
	}
	
	private QoS4SendDaemonS2C()
	{
		super(2000, 0 , -1, true, "-本机QoS");  // 修改了此行!!!!!将原“0”改为了2000现值。
	}
}

用新的代码重新编译,再试。
引用:JackJiang 发表于 2020-09-28 23:04
我大致明白你们的意思了。

你们试着改一下服务端的参数,把这个类的源码复制到你们工程(目的是覆盖sdk ...

改成2000之后 还是会有   但是数量没有以前多了  
引用:111111111111111 发表于 2020-09-29 11:47
改成2000之后 还是会有   但是数量没有以前多了

把第3个参数的“-1”改成“3”,再试试
引用:JackJiang 发表于 2020-09-29 22:11
把第3个参数的“-1”改成“3”,再试试

啊哈哈!我们在接收方上线后增加了延迟 2s 拉取离线消息的机制,看来目前这个问题没有再一次出现了。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部