IOS界面调用了c++写的函数接口socket ,按home键后进入后台,socket就收不到数据了,貌似是系统阻塞了socket。此时在进入前台,服务器就狂发数据。在后台可以保持3分钟运行,请问如何在进入后台后也可以让socket在3分钟内收到数据?谢谢。

解决方案 »

  1.   

    进入后台实现
        __block UIBackgroundTaskIdentifier bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^(void) {
            [[UIApplication sharedApplication] endBackgroundTask:bgTask];
            bgTask = UIBackgroundTaskInvalid;
        }];
    就可以了
      

  2.   

    除非你是特殊的应用(voip等),申请开通后台的socket,不然没办法