【问题标题】:XirSys When do I request new Ice servers?XirSys 我什么时候申请新的 Ice 服务器?
【发布时间】:2014-11-17 14:52:34
【问题描述】:

所以我通过您的演示完全了解如何使用 getIceServers,但是在服务器端/编译客户端实现的最佳实践是什么?
“此令牌应仅在安全环境中实施,例如服务器端应用程序或已编译的客户端应用程序。”

IceServer 列表是否会在某个时候过期?我应该在每个页面请求上请求新的 IceServer,还是将列表缓存 X 时间?

【问题讨论】:

    标签: networking webrtc turn


    【解决方案1】:

    Ice Server 凭据在大约 10 秒后过期。因为你想保证你的 XirSys 秘密令牌的安全(所以没有人可以破解你帐户的连接分配),你需要为 ice 服务器发出一个后端/服务器端 curl 请求。假设您的应用使用自己的身份验证。即,它将拒绝对https://yourdomain.com/ajax/get-ice-servers 的任何未经身份验证的请求。

    所以...每当您需要创建 PeerConnection 对象时,通过 Ajax 调用获取 Ice 服务器列表...

        var pc = RTCPeerConnection(
            getIceServers(),
            {optional: []}
        );
    

    在哪里...

        function getIceServers() {
            var result = jQuery.ajax({
                async: false,
                url: "https://" + yourDomain + ".com/ajax/get-ice-servers"
            }).responseText;
    
            return JSON.parse(result);
    
       }
    

    请注意,您需要一个同步的 ajax 请求,因此 getIceServers() 函数会在实例化 RTCPeerConnection 之前返回结果。

    另外请注意,如果您在页面加载时自动启动 webRTC 连接,那么您可能只使用来自服务器 curl 请求的 iceServers 结果。

    【讨论】:

    • 服务器凭证的过期时间是否取决于“安全”参数?两个不同的用户能否在过期前使用相同的凭据?
    猜你喜欢
    • 2023-03-10
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多