文档中心
ExpressVideoSDK 实时音视频
文档中心
体验 App
SDK 中心
API 中心
常见问题
代码市场
进入控制台
立即注册
登录
中文站 English
  • 文档中心
  • 实时音视频
  • 通信能力
  • 云代理

云代理

更新时间:2024-01-30 20:57

功能简介

通过设置 SDK 的云代理接口,将 SDK 对应的所有流量通过云端的代理服务器中转,实现与 RTC、L3(超低延迟直播)通信。

  • “云代理”功能是付费功能,如果您需要使用此功能,请联系 ZEGO 商务人员咨询。
  • 开通云代理服务后,如果企业有配置防火墙,还需要将云代理使用的 IP、域名、端口加入企业防火墙白名单。

当前 ZEGO 提供了 普通云代理 和 智能云代理 两种模式,开发者可以根据您的业务需要,选择合适的云代理模式。

普通云代理 智能云代理
方案说明
初始化 SDK 时,直接使用云代理模式。
初始化 SDK 时,优先使用直连网络模式进行尝试。

  1. 如果在 1 秒内有网络连通,则继续使用直连模式。
  2. 如果在 1 秒内,没有网络连通:

    • 如果当前是蜂窝网络,则继续留在直连模式重试。
    • 如果当前是非蜂窝网络,则切到云代理模式。

当网络切换时,如果检测到有网络连通、且当前处于直连模式,则会直接按照 SDK 初始化的逻辑进行尝试。

适用场景
当您处于如医院、政府、公司内部等有内网等限制性的网络环境下时,希望使用公有云 RTC 或 L3 服务。
当您的用户处于既有公网、又有限制性网络的场景中,且您无法判断用户的网络使用情况,希望可以优先使用公有云 RTC 或 L3 服务,公有云 RTC 或 L3 服务不可用时,再使用云代理服务。

前提条件

在使用云代理之前,请确保:

  • 已在 ZEGO 控制台 创建项目,并申请有效的 AppID 和 AppSign,详情请参考 控制台 - 项目信息。
  • 已在项目中集成 ZEGO Express SDK,并实现了基本的音视频推拉流功能,详情请参考 快速开始 - 集成 和 快速开始 - 实现流程。

使用流程

1 开通云代理服务

向 ZEGO 技术支持申请开通云代理服务。开通服务后,开发者将会获取到一个云代理域名与端口信息。

2 配置云代理

调用 setCloudProxyConfig 配置云代理。

此接口必须在调用 createEngine 接口创建引擎前调用。

  • 接口原型
/**
 * 设置云代理。
 *
 * 此接口需要在 createEngine 之前调用。
 * 调用此接口后,Express SDK 所有的网络请求与发送将通过云代理中转。
 *
 * @param proxyList 云代理信息列表,支持设置多个云代理信息。
 * @param token 鉴权 token,如果客户使用的鉴权方式是 appsign,这里可为空。否则必须填入 token。
 * @param enable 是否启用云代理。
 */
public static void setCloudProxyConfig(ArrayList<ZegoProxyInfo> proxyList, String token,
    boolean enable) 
  • 调用示例
ZegoProxyInfo proxy = new ZegoProxyInfo();
//域名与端口,开发者根据开通云代理服务时获取的填写
proxy.hostName = "xxxxxxxxxxx.zego.im"; 
proxy.port = 1080;
ArrayList<ZegoProxyInfo> list = new ArrayList<~>();
list.add(proxy);
ZegoExpressEngine.setCloudProxyConfig(list, "", true);

常见问题

设置云代理不生效要如何解决?

  • 确保已开通云代理服务,获取到有效的代理端口与域名。
  • 确保在 createEngine 前正确设置云代理,不支持中途修改。

是否提供本地代理方案?

提供,详情请参考 本地代理。

本篇目录
  • 免费试用
  • 提交工单
    咨询集成、功能及报价等问题
    电话咨询
    400 1006 604
    咨询客服
    微信扫码,24h在线

    联系我们

  • 文档反馈