默认
打赏 发表评论 14
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
都是干货啊。我简单写了退避算法。就是起始重连间隔,最大重连时间间隔,每次递增间隔。这三个值都是服务器返回给客户端的。不知道有没有其他更好的方法
评论 14
引用:ym_im 发表于 2020-08-26 18:21
都是干货啊。我简单写了退避算法。就是起始重连间隔,最大重连时间间隔,每次递增间隔。这三个值都是服务器 ...

同时让上层在wifi或者流量切换后。直接调用重连接口
引用:JackJiang 发表于 2020-08-26 22:15
确实没有更好的办法,够用就行了。

手机客户端使用 epoll 监听 socekt,正常服务器断开客户端可以获取断开事件,但是如果客户端断网等情况,客户端没有监听到事件,有什么好办法快速解决获取断开状态吗
引用:JackJiang 发表于 2020-08-27 14:15
只有自已做心跳是最靠谱的。默认的tcp协议实现中,客户端到服务端间的路由这么多跳,随便一个环节出故障 ...

心跳间隔事件短费电,时间长体验不好。

手机wifi切换4g、5g、或者4g、5g切换手机wifi,这些事件,app是不是都可以获取到
引用:JackJiang 发表于 2020-08-27 15:19
理想测试下是的,但事件通知只是个通知,极端情况下并不能保证你的app一定就能收到,你可以自已写套算法 ...

那订阅消息或者渠道消息。就是比如某个企业开始直播了。这个企业下面的所有员工都能收到一条企业开播的消息。可能这个企业人特别多达到几万人。这个消息虽然实时性要求不高,但是也不能太慢。

--------------------------------------------------------------------------------------------------------------------------------
我目前是在客户端的心跳中包含自己的订阅号。每次心跳到服务器,服务器从cache里面查一下,有没有
新的订阅消息。

这个做法怎么样。还是有新的订阅消息了。直接遍历发送给这个企业的所有人
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部