• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

android - 如何在 WebRTC 中优雅地在网络之间切换?

[复制链接]
菜鸟教程小白 发表于 2022-12-12 23:08:49 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

假设我在 Wifi 上有一个已建立的 PeerConnection。如何在不中断 session 的情况下优雅地将网络切换到移动设备?

我显然可以停止一切并重新协商 session ,但我不认为这是解决方案。

还有 iceConnectionReceivingTimeouticeBackupCandidatePairPingInterval 参数似乎是专门为这种情况设计的,但不幸的是,除了 this post 之外,我找不到任何关于如何使用它们的提示。显然只是设置它们没有任何作用。



Best Answer-推荐答案


如前所述,你不能。但是,如果您使用的是来自 chromium 的最新 WebRTC,则有一种方法可以最大限度地减少延迟。

最快的可用选项是捕获网络更改事件并通过在同一 RTCPeerConnection 中重新创建 offer 并使用 iceRestart: true 标记并发送给参与者。

https://w3c.github.io/webrtc-pc/#dom-rtcofferoptions

这将通过为 ICE 用户名和密码 fragment - ufrag/pwd 生成和使用新值来自动触发重新协商。

NOTE

Performing an ICE restart is recommended when iceConnectionState transitions to "failed". An application may additionally choose to listen for the iceConnectionState transition to "disconnected" and then use other sources of information (such as using getStats to measure if the number of bytes sent or received over the next couple of seconds increases) to determine whether an ICE restart is advisable.

关于android - 如何在 WebRTC 中优雅地在网络之间切换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41098670/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap