默认
发表评论 8
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
求助服务端是netty-socketio,在切换运营商以及漫游情况下,出现信息丢失
阅读(45567) | 评论(8 收藏 淘帖
有前辈遇到过切换运营商,以及漫游情况下,出现信息丢失的情况么

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

上一篇:求IM系统的总体架构设计方案,越详细越好下一篇:求助nodejs使用mysql做IM存储,查询出现数据库断连的问题
推荐方案
评论 8
你用的是什么技术方案?
可以说具体一点
楼主是自已开发im?
引用:JackJiang 发表于 2019-03-28 19:06
你用的是什么技术方案?
可以说具体一点

server端是Netty ,ios使用socket.id-client-swift和server对接。
现在偶发在连接4G网络的时候,从A城市,去B城市,会出现长连接断掉的情况,重连需要七八十秒
签名: 加油
引用:张威Vic 发表于 2019-03-31 21:28
server端是Netty ,ios使用socket.id-client-swift和server对接。
现在偶发在连接4G网络的时候,从A城市 ...

准确地说,你服务端应该用的是netty-socketio吧
引用:JackJiang 发表于 2019-03-31 22:01
准确地说,你服务端应该用的是netty-socketio吧

嗯嗯,是的
签名: 加油
引用:张威Vic 发表于 2019-03-31 22:05
嗯嗯,是的

一方面netty-socketio工程并不是socket.io官方维护的,很难说是不是能经受的住考验。

另一方面,你可以设置一下客户端的心跳时间,把时间改小一点,这个设置在服务端做就行了,如果是socket.io的nodejs官方版本,就像下面这样设置即可:
// 创建socket.io服务端实例
socketio = require('socket.io')(srv, {
  'pingTimeout':3000, // 本参数表示客户端检测网络掉线的超时时间(单位:毫秒),如不设置则默认是60000(即60秒),此值越大会让客户端感知掉线的时间越长
  'pingInterval':3000 // 本参数表示客户端的心跳间隔(单位:毫秒),如不设置则默认是25000(即25秒),此值越大会让客户端感知掉线的灵敏度越差
});
引用:JackJiang 发表于 2019-04-01 09:51
一方面netty-socketio工程并不是socket.io官方维护的,很难说是不是能经受的住考验。

另一方面,你可 ...

之前有一点我描述错了,PC端是socket.io。而IOS是socket.io-client-swift
签名: 加油
是服务器没有部署其他运营商的线路吧,例如服务器网络是电信的,用移动的用户肯定很慢
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部