房间的保活机制是什么?什么情况下会被踢出房间?

发布时间: 2022-03-22 17:35

回答:

1、房间的保活机制是什么?

SDK 通过心跳 rtcPing 来实现房间保活;

rtcPing 是每间隔一定时间与 single 服务进行通信,下面是关于 ping 的注意点:

a、ping 的间隔时间默认是 10 s ,也可以通过 rtc 初始化的时候,传入 pingGap 参数进行修改,pingGap 范围(房间 Ping 间隔时长,默认 `10000` ms,有效值 `3000`-`10000`)

b、每次 ping 超时时间是 10 s

c、当 ping 的累加时间超过 1 分钟,表明 rtcPing 失败,通知客户离线

2、什么情况会被提出房间?

有两种情况:

a、被踢出房间可能是由于服务端超出一定时间未能收到 rtcPing 消息,所以认为己方离线

b、另一种可能是己方 rtcPing 失败次数超出上限,故而主动断线

可以通过挂载在房间监听的 onKickOff 函数判断:

当返回值为 false 时,说明本端 rtcPing 超时;

当返回值为 true 时,说明本端收到被提出房间通知;