Forráskód Böngészése

1.网络切换相关的局域网和公网切换

huangxiaodong 1 éve%!(EXTRA string=óta)
szülő
commit
9780e3aeb8

+ 21 - 8
创维盒子/双子星云手机/CloudPlayer/PlayerViewController.mm

@@ -259,12 +259,12 @@ ComontAlretViewControllerDelegate>
 //        return;
     }
     
-    //HLog(@"局域网是否能ping通:%d",[connectDeviceManager shareInstance].DeviceThirdIdMod.data.isPingOk);
     HLog(@"瑞云连接状态:%d",[[connectDeviceManager shareInstance] curConnectDeviceState]);
     
     //第一次进 先输入密码才能连接
     if([connectDeviceManager shareInstance].isFirstInputPwdDone){
-        if([connectDeviceManager shareInstance].isPingOk){
+        if([connectDeviceManager shareInstance].isPingOk
+           && [AFNetworkReachabilityManager sharedManager].networkReachabilityStatus == AFNetworkReachabilityStatusReachableViaWiFi){
             ip = [connectDeviceManager shareInstance].DeviceThirdIdMod.data.ip;
             internetVideoPort = @"9100";
             [self didCanConnectServerFun];
@@ -504,12 +504,21 @@ ComontAlretViewControllerDelegate>
     KWeakSelf
     //初始化指令通道
     self.commandChannelManager = [[RCCommandChannelManager alloc] init];
-    NSString *instructionsChannelUrl = [NSString stringWithFormat:@"ws://%@:%@/businessChannel",ip,internetVideoPort];
-    
-    if([connectDeviceManager shareInstance].isPingOk){
-        instructionsChannelUrl = [NSString stringWithFormat:@"ws://%@:%@/businessChannel",ip,@"9300"];
+   
+    NSString *wsPort = @"";
+    if([connectDeviceManager shareInstance].isPingOk
+       && [AFNetworkReachabilityManager sharedManager].networkReachabilityStatus == AFNetworkReachabilityStatusReachableViaWiFi){
+        ip = [connectDeviceManager shareInstance].DeviceThirdIdMod.data.ip;
+        wsPort = @"9300";
+    }
+    else{
+        ip = @"127.0.0.1";
+        wsPort = [[connectDeviceManager shareInstance] tcpPortStr];
     }
     
+    NSString *instructionsChannelUrl = [NSString stringWithFormat:@"ws://%@:%@/businessChannel",ip,wsPort];
+    
+    
     if (instructionsChannelUrl && instructionsChannelUrl.length > 0) { //当都有值才可连接
         HLog(@"WebSocket11111指令通道连接开始11111 url = %@ ",instructionsChannelUrl);
         [self.commandChannelManager rc_openURL:instructionsChannelUrl connected:^{
@@ -1480,10 +1489,13 @@ NSDate *lastVideoTome;/*上一帧数据时间*/
 // 连接
 - (void)connectVideoServer {
     
-    if([connectDeviceManager shareInstance].isPingOk){
+    if([connectDeviceManager shareInstance].isPingOk
+       && [AFNetworkReachabilityManager sharedManager].networkReachabilityStatus == AFNetworkReachabilityStatusReachableViaWiFi){
+        ip = [connectDeviceManager shareInstance].DeviceThirdIdMod.data.ip;
         internetVideoPort = @"9100";
     }
     else{
+        ip = @"127.0.0.1";
         internetVideoPort = [[connectDeviceManager shareInstance] tcpPortStr];
     }
     
@@ -1517,7 +1529,8 @@ NSDate *lastVideoTome;/*上一帧数据时间*/
     //
     RCCloudPhoneConnectType ConnectType = RCCloudPhoneConnectType_websocket;
     RCCloudPhoneVideoQuality VideoQuality = RCCloudPhoneVideoQuality_Default;//RCCloudPhoneVideoQuality_High;
-    if([connectDeviceManager shareInstance].isPingOk)
+    if([connectDeviceManager shareInstance].isPingOk
+       && [AFNetworkReachabilityManager sharedManager].networkReachabilityStatus == AFNetworkReachabilityStatusReachableViaWiFi)
     {
         ConnectType = RCCloudPhoneConnectType_udp;
         VideoQuality = RCCloudPhoneVideoQuality_Default;