2024/09/19 14:52:02
应对防火墙限制
大型企业、医院、高校、银行等安全需求较高的机构会部署防火墙将办公环境与外网隔离开来,保护内部信息安全。为避免这些企业用户因防火墙无法使用声网的服务,声网提供防火墙白名单和云代理服务。
为允许用户在有网络访问限制的环境中使用声网 SDK,声网提供云代理服务。用户只需在防火墙上将特定的 IP 地址和端口加入白名单,并调用 API 配置声网云代理服务。
技术原理
- 声网 SDK 向声网云代理发起请求。
- 声网云代理返回相应代理信息。
- 声网 SDK 向声网云代理发送数据。声网云代理接收数据并将数据透传给声网 SD-RTN™(Software Defined Real-time Network)。
- 声网 SD-RTN™ 向声网云代理返回数据。声网云代理接收数据并将数据发送给声网 SDK。
前提条件
- 下载声网 RTC SDK。
- 完成开发环境准备,详见实现音视频互动。
实现步骤
-
联系 sales@shengwang.cn,提供以下信息申请开通云代理服务。
- App ID
- 代理服务使用区域
- 并发规模
- 网络运营商等信息
-
声网在收到申请后,会提供用于云代理的 IP 地址和端口。
-
将声网提供的 IP 地址和端口添加到防火墙白名单。
-
调用
setCloudProxy
方法,将proxyType
设为UDP_PTRANSPORT_TYPE_UDP_PROXYROXY
(1) 或TCPTRANSPORT_TYPE_TCP_PROXY_PROXY
(2) 来开启云代理。 -
测试是否能正常实现音视频通话或直播。
-
如需关闭已设置的云代理服务,调用
setCloudProxy
,并将proxyType
设为TRANSPORT_TYPE_NONE_PROXY
(0)。 -
如果你想更改已设置的云代理类型,请先调用
setCloudProxy(TRANSPORT_TYPE_NONE_PROXY)
,再重新调用setCloudProxy
并设置云代理类型。
开发注意事项
setCloudProxy
需要在频道外调用,其设置在RtcEngine
生命周期内有效。- 如果用户处于内网防火墙环境下,使用 Force UDP 云代理(即
UDP_PTRANSPORT_TYPE_UDP_PROXYROXY
)时,旁路推流和跨频道媒体流转发功能不可用。