推送的重连策略

推送的重连策略

推送有强大的重连机制,不需要开发者执行重连操作。一次调用连接后,如果出现断开情况,推送会主动进行重连。并通过单向心跳,双向心跳,网络连接重连,开机重连等方式,提高了推送的及时性和稳定性。

1、推送android版启动连接有两个方法:

connect(Context context)connect(Context context ,boolean isReAutoConnect),如果我们调用第一个方法,则登录失败时是不会自动重连的(不推荐)。如果我们调用第二个方法,则推送在登录失败后会自动重连,不需要开发者主动进行重连。

2、心跳检测:

推送登录成功以后会开启心跳检测,心跳检测分两种,一种是单向的心跳检测,一种是双向的心跳检测。

单向心跳检测:手机端通过判断socket的状态判断socket通道是否存在,不与服务端进行通讯。

双向心跳检测:手机端发送数据到服务端,在规定时间内服务端返回数据,则表示socket通道是存在的。反之,通道已经断开,进行重连。

3、开屏锁屏时通道检测:
开屏锁屏时会往服务端发送数据,在规定时间内服务端返回数据,则表示socket通道存在。反之,通道已经断开,进行重连。

4、网络连接重连:

网络断开,推送也无法连接。但网络连接后,会进行重新连接。所以开发者在网络连接后不用再主动调用连接方法

5、开机自动启动:

需要用户在AndroidManifest.xml里面注册开启监听广播,推送会在开机以后自动进行重连操作

原文地址:https://www.cnblogs.com/NL34/p/3513266.html