हम एक वीओआईपी आवेदन पर काम कर रहे हैं, जब मेरा आवेदन पृष्ठभूमि हो जाता है, मैं सेटकिपअलीवटाइमआउट: हैंडलर का उपयोग करने की कोशिश कर रहा हूं: कनेक्शन को जिंदा रखने के लिए। सेब प्रलेखन के अनुसार, वे टाइमआउट के रूप में न्यूनतम 600 सेकंड देने के लिए कहते हैं। असल में हम कम टाइमआउट मूल्य बनाए रखते हैं, क्या कम समय के साथ संभालना संभव है?setKeepAliveTimeout का उपयोग कैसे करें: हैंडलर - आईओएस?
और, कैसे टाइमर रीसेट या अधिक समय तो यह है कि मैं अपने कनेक्शन alway जिंदा (आने वाली कॉल प्राप्त करने के लिए) रख सकते अनुरोध करने के लिए हैंडलर का उपयोग करने के लिए बाहर समय हिट तो क्या होगा?
यहाँ मैं क्या कर रहा हूँ ...
- (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?
}
क्या आपको कोई विचार है कि वीओआईपी एप्लिकेशन के लिए टाइमआउट हैंडलर को कैसे संभालना है। मैं सर्वर से जुड़े रहना चाहता हूं और इनकमिंग कॉल अधिसूचना प्राप्त करना चाहता हूं? – Newbee
हम वीओआईपी कनेक्शन के रूप में सामान्य सी ++ सॉकेट (नहीं उद्देश्य सी सॉकेट-NSstream) का उपयोग कर सकते हैं। यदि हां, क्या आप मुझे सही दिशा में इंगित कर सकते हैं कि यह कैसे करें? – Newbee
[एप्पल] (http://developer.apple.com/library/ios/#documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/SocketsAndStreams/SocketsAndStreams.html) प्रलेखन से: "आईओएस में, POSIX नेटवर्किंग हतोत्साहित किया जाता है"। हालांकि, अगर आप कठिन तरीके से जाना चाहते हैं, तो आप कोशिश कर सकते हैं। आप केवल ObjC से बचना चाहते हैं और सी-बाइंडिंग के साथ खुश हैं, [CFNetwork] (https://developer.apple.com/library/mac/#documentation/Networking/Conceptual/CFNetwork/Introduction/Introduction.html) का उपयोग करें। – Matthias