アプリケーションがバックグラウンドになると、私はVoIPアプリケーションに取り組んでいます。私は接続を有効に保つためにsetKeepAliveTimeout:ハンドラーを使用しようとしています。リンゴのドキュメントに従って、彼らはタイムアウトとして最低600秒を与えるように頼みます。実際には、タイムアウト値を低く抑えていますが、タイムアウトを減らして処理することは可能ですか?私は(着信コールを受けること)なかれ生きている私の接続を維持することができるようにタイマーをリセットするか、より多くの時間を要求するためのハンドラを使用する方法setKeepAliveTimeoutの使い方:ハンドラ - IOS?
、タイムアウトがヒットした場合、?ここで
は私がやっているものです...
- (void)applicationDidEnterBackground:(UIApplication *)application
{
BOOL backgroundAccepted = [[UIApplication sharedApplication] setKeepAliveTimeout:600 handler:^{ [self backgroundHandler]; }];
if (backgroundAccepted)
{
NSLog(@"VOIP backgrounding accepted");
}
}
- (void)backgroundHandler {
NSLog(@"### -->VOIP backgrounding callback"); // What to do here to extend timeout?
}
VoIPアプリケーションのタイムアウトハンドラをどのように処理するか考えていますか。私はサーバーに接続して着信通知を受けたいと思っていますか? – Newbee
通常のC++ソケット(目的のCソケット-NSstreamではなく)をVoIP接続として使用できますか?はいの場合は、正しい方法でそれを行う方法を教えてください。 "iOSのでは、POSIXのネットワークが推奨され":[Appleの](http://developer.apple.com/library/ios/#documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/SocketsAndStreams/SocketsAndStreams.html)のドキュメントから – Newbee
。しかし、あなたが難しい道を行くなら、試してみることができます。 ObjCだけを避け、Cバインディングに満足したい場合は、[CFNetwork](https://developer.apple.com/library/mac/#documentation/Networking/Conceptual/CFNetwork/Introduction/Introduction.html)を使用してください。 – Matthias