2013-06-02 8 views
6

मैं एक वीओआईपी एप्लीकेशन बना रहा हूं और अपने वेबसाइट्स को प्रबंधित करने और डेटा से खींचने के लिए सॉकेट रॉकेट लाइब्रेरी का उपयोग कर रहा हूं। लेकिन मेरी मुख्य समस्या यह है कि जब मैं (आईओएस) होम बटन पर क्लिक करता हूं तो मेरी वेबसाइट एक मिनट के बाद डिस्कनेक्ट हो जाती है। मैं नीचेपृष्ठभूमि में वेबसाइटों को जीवित रखने में असमर्थ आईओएस

https://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedAppTricks/AdvancedAppTricks.html

लिंक से वीओआइपी आवेदन विकासशील मैं भी वीओआइपी और ऑडियो के लिए plist में UIBackgroundModes की स्थापना कर रहा हूँ, लेकिन जब मैं अपने आवेदन को फिर से शुरू तो मेरे WebSocket राज्य बंद कर दिया है, हालांकि मैं नहीं कर रहा हूँ के लिए एप्पल के प्रलेखन पढ़ा है websocket ऑब्जेक्ट जारी करना।

_webSocket.readyState = 3 // It identifies that my websocket is close. 

अब WebSocket के साथ एक संबंध restablishing के लिए तो मैं फिर से फोन खुला WebSocket और पहले से रिहा होने के बाद WebSocket वस्तु का एक और उदाहरण बनाना होगा।

वेबसाईट बंद करने पर मेरे सर्वर से मेरा एसआईपी पंजीकरण भी डिस्कनेक्ट हो जाता है और मुझे फिर से मेरे एसआईपी से फिर से कनेक्ट करने की आवश्यकता होती है।

मैं अपनी वेबसाइट को बंद करने के लिए कैसे रोक सकता हूं और मैं कैसे सेट कर सकता हूं KeepAliveTimeout: हैंडलर: मेरी समस्या को ठीक करने के लिए उपयोगी।

लाइब्रेरी WebSocket स्थापित करने के लिए उपयोग नीचे के रूप में

https://github.com/square/SocketRocket

उत्तर

3

कोशिश SRWebSocket _initializeStreams में निम्नांकित दो पंक्तियों को जोड़ने है

// Setup connections to be VOIP connections 
CFReadStreamSetProperty(readStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP); 
CFWriteStreamSetProperty(writeStream, kCFStreamNetworkServiceType, kCFStreamNetworkServiceTypeVoIP); 
संबंधित मुद्दे