客户端:在plist文件 所需的背景模式:ios voip套接字在后台运行,9分钟后,SIGSTOP信号接收。为什么?
[App plays audio or streams audio/video using AirPlay,App provides Voice over IP services]
在功能createStream
CFReadStreamSetProperty(readStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);
CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP);
在功能applicationDidEnterBackground
BOOL backgroundAccepted = [application setKeepAliveTimeout:600 handler:^{
[self send:[NSString stringWithFormat:@"%@ KeepAliveTimeout",[NSDate date]]];
}];
if (backgroundAccepted)
{
DLog(@"VOIP background");
}
_bgTaskId=[application beginBackgroundTaskWithExpirationHandler:^{
[self alert:@"ExpirationHandler"];
[application endBackgroundTask:_bgTaskId];
_bgTaskId=UIBackgroundTaskInvalid;
}];
在功能applicationWillEnterForeground
[application clearKeepAliveTimeout];
服务器发送消息给客户每5个senconds与NSTimer.client应用程序中使用本地通知,立即显示在后台消息;