默认
发表评论 3
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
请教IM聊天通信过程中数据丢失的情况
阅读(34235) | 评论(3 收藏 淘帖
两个APP都处于前台通信状态,设置的心跳时间为10秒。
这次过程中会出现,一方接收的几条消息,中间会漏掉一两条。此时后台会在以下方法处抛出异常:
public void exceptionCaught(Channel session, Throwable cause) {
                logger.debug("[IMCORE-netty]此客户端的Channel抛出了exceptionCaught,原因是:" + cause.getMessage() + ",可提前close掉!", cause);
                session.close();
        }


异常信息:
public void exceptionCaught(Channel session, Throwable cause) {
                logger.debug("[IMCORE-netty]此客户端的Channel抛出了exceptionCaught,原因是:" + cause.getMessage() + ",可提前close掉!", cause);
                session.close();
        }


请问是什么原因导致以上问题。

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

标签:IM开发
上一篇:请教ios端的IM中,APP切换后台或从后台切换回来时,需不需要做处理?下一篇:请教IM中,群聊消息应该是推还是拉的方式更合理?
推荐方案
评论 3
你自已将心跳改成10秒的?

你怎么设置?把客户端和服务端的设置代码,贴出来我帮你看一看
引用:JackJiang 发表于 2019-01-25 16:29
你自已将心跳改成10秒的?

你怎么设置?把客户端和服务端的设置代码,贴出来我帮你看一看

可能我表达的有错误,是使用ServerToolKits中设置为MODE_10S这个枚举属性。
// 与客户端协商一致的心跳敏感模式设置
ServerToolKits.setSenseMode(ServerToolKits.SenseMode.MODE_3S);
引用:二师兄 发表于 2019-01-25 16:44
可能我表达的有错误,是使用ServerToolKits中设置为MODE_10S这个枚举属性。
// 与客户端协商一致的心跳 ...

你这是设置的服务端,客户端有设置吗?两边必须用同一个配置才可以
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部