Sfoglia il codice sorgente

1.p2p通道 重连

huangxiaodong 9 mesi fa
parent
commit
56a2f365f7

+ 17 - 0
创维盒子/双子星云手机/webRtc/webRtcManager/webRtcManager.m

@@ -14,6 +14,7 @@
 @interface webRtcManager ()<MediaStreamClientEventsDelegate>
 {
     NSMutableArray *commandSendCheckArr;//需要检测任务是否发出的的指令
+    NSTimer      *linkCheckSecondTimer; // 检测链接状态
 }
 
 //第一次链接设备 要发送指令信息 实现单点登录
@@ -37,10 +38,26 @@
         
         _mediaStream = [[RTC_OBJC_TYPE(AMediaStream) alloc] initWithFrame:CGRectZero];
         [_mediaStream setEventDelegate:self];
+        
+        linkCheckSecondTimer = [NSTimer scheduledTimerWithTimeInterval:10.0 target:self selector:@selector(timerChange) userInfo:nil repeats:YES];
+        [[NSRunLoop currentRunLoop] addTimer:linkCheckSecondTimer forMode:NSRunLoopCommonModes];
     }
     return self;
 }
 
+#pragma mark 十秒一次的timer检测
+- (void)timerChange{
+    [self checkChannelLinkStateFun];
+}
+
+#pragma mark 检测链接是否OK
+- (void)checkChannelLinkStateFun
+{
+    if(_channelState != RTCDataChannelStateOpen){
+        [self relinkWebRtcFun];
+    }
+}
+
 #pragma mark 关闭链接
 - (void)closeLinkWebRtcFun
 {