【问题标题】:Tokbox Destroy Session - By Admin Not Part of SessionTokbox 销毁会话 - 由管理员而不是会话的一部分
【发布时间】:2019-04-24 15:56:10
【问题描述】:

我们正在使用 Tokbox 来实现一组预定义的聊天室。

每个房间都有一个版主和一组特定的用户,只有当版主激活聊天室后,才能加入聊天室。

这件事进展得非常顺利。

我的问题是:我们如何设置一个“超级用户”,以便他们可以终止任何可能正在进行的活动聊天会话?此超级用户不一定是任何房间的积极参与者。但是,我们想设置某种管理页面,其中每个房间都有一个按钮,上面写着“紧急终止”或类似的东西。

我们有数据库角色和用户设置。我们只是想找出使用​​ Tokbox API 执行此操作的最佳方法。

【问题讨论】:

    标签: javascript php admin tokbox


    【解决方案1】:

    这里是 TokBox 开发者宣传员。

    使用主持人令牌连接到会话的客户端可以断开该会话中其他连接的客户端。

    没有“超级用户”的概念,但您可以使用OpenTok REST API 强制断开已连接的客户端与任何会话的连接。您也可以使用OpenTok PHP SDK 来完成此操作。

    use OpenTok\OpenTok;
    
    $opentok = new OpenTok($apiKey, $apiSecret);
    
    $sessionId = ""; // the session the client is connected to
    $connectionId = ""; // this connection Id of client you want to force disconnect
    $opentok->forceDisconnect($sessionId, $connectionId);
    

    如您所见,您需要知道要断开连接的客户端的connectionIdconnectionIdConnection Event 的一部分,在客户端与 connectionCreatedconnectionDestroyed 事件一起分派。您还可以使用 Session Monitoring 通过服务器上的 webhook 接收这些连接事件。

    【讨论】:

    • 谢谢,马尼克。看起来会话监控的 webhook 很可能会起作用。问题,包含 JSON 字符串的 $_REQUEST["???"] 的名称是什么?
    • 嘿,马克,会话监控事件是通过您在帐户仪表板中定义的 POST 请求传递的。希望这会有所帮助。
    • 其实我想通了。你必须使用这样的东西$strPayload = file_get_contents("php://input");
    • 我需要做的是寻找 streamDestroyed 事件,然后在该 JSON 对象中查看我们专有设置的流名称。如果流名称与主持人的名称相同 - 则将其全部关闭。
    • 啊,谢谢分享 - 我很高兴它为你解决了。
    猜你喜欢
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 2011-02-25
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    • 2012-05-21
    • 2011-11-25
    相关资源
    最近更新 更多