为允许用户在有网络访问限制的环境中使用声网 SDK,声网提供云代理服务。用户只需在防火墙上将特定的 IP 地址和端口加入白名单,并调用 API 配置声网云代理服务。
1.声网 SDK 向声网云代理发起请求。声网云代理返回相应代理信息。
2.声网 SDK 向声网云代理发送数据。声网云代理接收数据并将数据透传给声网 SD-RTN™(Software Defined Real-time Network)。
3.声网 SD-RTN™ 向声网云代理返回数据。声网云代理接收数据并将数据发送给声网 SDK。
下载声网 RTC SDK。
参考《快速开始》文档完成开发环境准备。
联系 sales@shengwang.cn,提供以下信息申请开通云代理服务。
收到申请后,声网会提供用于云代理的 IP 地址和端口。请确保将声网提供的 IP 地址和端口添加到防火墙白名单。
对于 v3.3.0 或之后的 SDK,你可以调用 setCloudProxy
方法开启云代理。
添加白名单后,调用 setCloudProxy
,并将 proxyType
设为 UDP_PROXY(1)
或 TCP_PROXY(2)
。
测试是否能正常实现音视频通话或直播。
如需关闭已设置的云代理服务,调用 setCloudProxy
,并将 proxyType
设为 NONE_PROXY
。
对于 v3.2.1 或之前的 SDK,你可以调用 setParameters
私有参数开启云代理。
添加白名单后,请参考如下示例代码开启云代理:
// 开启云代理服务,并通过默认方式配置云代理服务。
setParameters("{\"rtc.enable_proxy\":true}");
如需关闭云代理服务,调用 setParameters("{\"rtc.enable_proxy\":false}");
。
setCloudProxy
方法需要在使用云代理服务之前调用。例如你需要使用云代理才能加入频道,则需要在 joinChannel
之前调用;如果你需要使用云代理才能进行通话前网络探测,则需要在 startLastmileProbeTest
之前调用。setCloudProxy
方法在 RtcEngine 生命周期内有效。