3.这里有一个问题,就是客户端是通过心跳来和服务端保持连接,心跳是由定时器触发的,当我退到后台以后,定时器方法被挂起,那么通过如下设置来在后台运行定时器
-
 (void)applicationDidEnterBackground:(UIApplication
 *)application{
UIApplication*  
 app = [UIApplication sharedApplication];
    __block   
 UIBackgroundTaskIdentifier bgTask;
    bgTask
 = [app beginBackgroundTaskWithExpirationHandler:^{
        dispatch_async(dispatch_get_main_queue(),
 ^{
            if
(bgTask != UIBackgroundTaskInvalid)
            {
                bgTask
 = UIBackgroundTaskInvalid;
            }
        });
    }];
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,
0),
 ^{
        dispatch_async(dispatch_get_main_queue(),
 ^{
            if
(bgTask != UIBackgroundTaskInvalid)
            {
                bgTask
 = UIBackgroundTaskInvalid;
            }
        });
    });
}
原文:http://www.cnblogs.com/cb168/p/5137457.html