如何在断线后不重连加入音视频房间

郑天寿
• 阅读 325

RTC 房间断网后,默认是一直尝试重连的,例如当主播再次联网重连成功后,会自动发布之前在发布的音视频流。针对某些不想断网后重新加入连接的场景,需要如下配置:

1、配置断开后不去重连(这种情况也会重连 4 次约 40s ,之后不再重连):

RCRTCConfig *config = [[RCRTCConfig alloc]init]; config.isEnableAutoReconnect = NO; [[RCRTCEngine sharedInstance] initWithConfig:config]; 2、断网用户需要遵守代理协议 RCRTCEngineEventDelegate ,实现对应方法监听没有连接成功:

[RCRTCEngine sharedInstance].delegate = self; // 实现方法:

  • (void)didKicked:(NSString *)roomId reason:(RCRTCKickedReason)reason{ // 断网用户会在断网后 ping 4 次(约 40s)失败后退出音视频房间 用户可以在这个回调中实现UI变化 } 3、远端用户可以在断网用户重连失败后收到对应回调,可以在回调中实现对应的 UI 变动:

// 远端掉线

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
2年前
udp&祯同步
1.使用乐观锁&断线重连http://www.sohu.com/a/153269736\_163917(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.sohu.com%2Fa%2F153269736_163917)2.随机数问题大部分编程语言内置库里的随机数都
Stella981 Stella981
2年前
RSocket——Http协议的替代者
1\.简介RSocket是一种二进制的点对点通信协议,是一种新的网络通信第七层协议。旨在用于分布式应用程序中。从这个意义上讲,RSocket是HTTP等其他协议的替代方案。它是一种基于ReactiveStreams规范具有异步,背压的双向,多路复用,断线重连,基于消息等特性。它由Facebook,Netifi和Pivotal等工程师开发
Stella981 Stella981
2年前
Netty 如何实现心跳机制与断线重连?
作者:sprinkle\_lizwww.jianshu.com/p/1a28e48edd92心跳机制何为心跳所谓心跳,即在 TCP 长连接中,客户端和服务器之间定期发送的一种特殊的数据包,通知对方自己还在线,以确保 TCP 连接的有效性.注:心跳包还有另一个作用,经常被忽略,即:一个连接如果长时间不用,防
Stella981 Stella981
2年前
Netty 4.0 实现心跳检测和断线重连
一实现心跳检测原理:当服务端每隔一段时间就会向客户端发送心跳包,客户端收到心跳包后同样也会回一个心跳包给服务端一般情况下,客户端与服务端在指定时间内没有任何读写请求,就会认为连接是idle(空闲的)的。此时,客户端需要向服务端发送心跳消息,来维持服务端与客户端的链接。那么怎么判断客户端在指定时间里没有任何读写请求呢?netty中为我们提供一
Stella981 Stella981
2年前
C# Socket之异步TCP客户端断线重连
  我们知道TCP通信是一种面向连接的Socket,针对于面向连接的TCP服务应用,安全,但是效率低,它首先需要服务端开启服务,然后客户端才可以去连接,如果服务端没有开启通信服务或者连接之后再中途因为某些原因断开连接了,那么都是会通信失败的,所以我们这篇博客主要是对TCP通信加入两个机制。1,客户端开启后未连接成功,自动重连请求2,若通信途中因为某些原因断
Stella981 Stella981
2年前
Redis主从同步原理
Reids复制数据主要有2种场景:1\.从服务器从来第一次和当前主服务器连接,即初次复制2\.从服务器断线后重新和之前连接的主服务器恢复连接,即断线后重复制对于初次复制来说使用SYNC命令进行全量复制是合适高效的,但是对于断线后重复制来说效率就不太能接受了。举例来说:!Redis断线重连(https://oscimg.oschina.net/
郑天寿 郑天寿
5个月前
获取会话唯一id
融云RTC服务使用“sessionID”标识一次音视频会话,下文将介绍获取sessionID参数的方式:1.RTCLib获取方式当房间创建后(等同于有第一个人加入)就可以获取RCRTCEnginesharedInstance.room.sessionI
郑天寿 郑天寿
4个月前
断网或者杀死进程后,退出房间的最长时间
RTCSDK5.1.13版本之前:一端杀进程,或是断网,server端会在60s后触发超时逻辑,另一端会收到对端离线的消息。不立刻发送通知是因为断网情况,server要兼容断线重连逻辑,需要对客户端的断网有一个容忍时长(目前是60s),也不会立即发送断线的
郑天寿 郑天寿
3个月前
没有点击挂断,一端杀死程序另一端需等待1分钟响应
融云音视频SDK考虑到用户进入隧道或者其他弱网环境的问题,不会在没有心跳后立即断开与服务器的连接,会等待1分钟的超时,然后断开音视频服务。所以,如果通话双方有一方手动杀死App的话,由于没有调用挂断,所以另一端需要等待1分钟后才会挂断;所以,我们建议用户可