频道是由开发者调用声网提供的 API 创建的、用于传输实时数据的通道。
根据实时传输数据的类型,声网频道可分为以下两种:
RTC 频道与 RTM 频道互相独立。
App ID 一致的前提下,声网后台通过频道名 (channel name) 来标识频道。当且仅当 App ID 相同、频道名相同时,两个用户会加入同一个频道实现互通。
在下表例子中,仅当用户 A 通过 appid=ecf37** 和 channelName=Channel01 加入通话、用户 B 通过 appid==ecf37** 和 channelName=Channel01 加入通话时,A 和 B 可以互通。
用户 | App ID | 频道名 | 是否可以互通 |
---|---|---|---|
用户 A | ecf37****************** | Channel01 | 否 |
用户 B | 55ea****************** | Channel01 | |
用户 A | ecf37****************** | Channel01 | 否 |
用户 B | ecf37****************** | Channel02 | |
用户 A | ecf37****************** | Channel01 | 是 |
用户 B | ecf37****************** | Channel01 |
频道无需用户主动创建,也无需用户主动销毁。每个频道的生命周期由声网在后台进行管理:
joinChannel
加入频道时,声网后台会基于该用户传入的频道名创建一个频道。为保证通信安全,用户在加入频道时,通常还需要提供一个动态密钥 (token) 进行鉴权。动态密钥如果失效,用户会无法使用声网服务,可能的表现为:正在进行的通话被强制终止,或者被踢出频道。