我正在尝试从服务器端终止所有Tokbox连接。我有从客户端终止连接的逻辑,但是客户端不可靠,因为它可能无法正确断开连接(网络问题,应用突然终止等)。
我知道SDK或REST API中带有forceDisconnect
的connectionId
选项。但是,我找不到从服务器端列出来自sessionId的所有打开的连接的选项。
我也知道,我可以等待会话期满。 (How to disconnect all connection on a session?)
但是,等待令牌过期(或会话在Tokbox Server端终止)会花费更多,尤其是在使用自动存档选项时。如果您未明确终止会话,则需要为会话付费并最多保留1个小时的存档。
总而言之,当Tokbox会话结束时,我想做的是
客户端将尝试断开自己的连接(完成)
如果客户端由于某种原因无法执行#1,服务器将列出所有活动的连接。
从#2的每个连接上调用forceDisconnect
这里是OpenTok开发者倡导者。
您可以使用我们的Node.js服务器SDK或通过Rest API获取会话中的流列表。
在Node.js服务器SDK中,您可以使用opentok.listStreams
方法获取流列表。您可以在https://tokbox.com/developer/sdks/node/#getting-stream-info了解更多信息。
在Rest API中,您可以访问session/{sessionId}/stream
端点以获取会话上的流列表。您可以在https://tokbox.com/developer/rest/#get-header-properties了解更多信息。