SDK 提供一系列网络测量接口和策略回调接口,业务通过设置测量阈值,达到按需加速的目的,同时 SDK 也提供加速兜底策略。当加速出现了重大异常,如加速后出现断网,时延过大,加速负优化或加速效果远不及预期,SDK 会主动关闭加速和测速,让业务流量回源,防止因加速异常影响业务正常使用。
注意:
当 SDK 触发逃生 onAccException 回调后,会直接销毁加速通道,若业务使用 SOCKS5 代理发起的加速,业务需将相应的网络请求切回直连(不再使用代理) 。
示例代码
private MeasureCallback measureCallback = new MeasureCallbackImpl();private void initMpAcc() {//腾讯云申请的datakey需传入MpAccClient.setDataKey("test-123456", "*");mpAccClient = MpAccClient.getInstance(this);}private void startMeasure() throws MpAccSDKException {//发起测量回调监听mpAccClient.registerMeasureCallback(measureCallback);MeasureConfig measureConfig = new MeasureConfig();//设置测量配置阈值measureConfig.setJitter(15).setLoss(5).setRTT(60).setTime(8000).setQuickTime(2000).setQuickRtt(80).setInterval(1000).setMode(2);//开始网络测量mpAccClient.startMeasure(measureConfig);}private void stopMeasure() throws MpAccSDKException {//注销网络测量监听mpAccClient.unregisterMeasureCallback(measureCallback);//停止网络测量mpAccClient.stopMeasure();}class MeasureCallbackImpl implements MeasureCallback {@Overridepublic void onStartMpAcc(int code, int links) {//发起加速,参考各个模式加速示例代码startAcc();}@Overridepublic void onStopMpAcc(int code) {//关闭加速,参考关闭加速示例代码stopAcc();}@Overridepublic void onNoPolicy(int code) {//当前无有效加速策略}@Overridepublic void onAccException(int code) {//加速异常,SDK触发逃生(兜底)}}