2011-11-22 12 views
5

मैं एक वेब अनुप्रयोग विकसित कर रहा हूं जो सर्वर से मोबाइल ब्राउज़र में डेटा धक्का देने के लिए धूमकेतु छिपी आईफ्रेम तकनीक का उपयोग करता है।4KB संदेश भेजने के बिना एंड्रॉइड ब्राउज़र के लिए वैकल्पिक सर्वर पुश/धूमकेतु कार्यान्वयन?

सबकुछ मोबाइल सफारी पर ठीक काम करता है लेकिन एंड्रॉइड बहुत अधिक दर्दनाक है। ऐसा लगता है कि संदेश को ध्यान में रखे जाने के लिए सर्वर से 4 KB संदेश भेजे जाने की आवश्यकता है। यह प्रत्येक संदेश के लिए केवल पहला नहीं है।

कुछ लोगों XMLHttpRequest स्ट्रीमिंग का उपयोग कर धूमकेतु लेकिन एक ही 4KB मुद्दों (http://code.google.com/p/android/issues/detail?id=13044)

किसी को भी लागू करने में कामयाब रहा है को लागू करने की कोशिश की 4KB को संदेश पैड करने की आवश्यकता के बिना Android ब्राउज़र पर धूमकेतु तकनीकें?

एंड्रॉयड पर परीक्षण किया गया 2.1,2.2

सर्वर भेजा घटना एंड्रॉयड 4,0 http://caniuse.com/eventsource

WebSocket के लिए एक ही भी संस्करण पर समर्थित होने की http://caniuse.com/websockets

धन्यवाद

-seb

नहीं लगता है

उत्तर

2

यह सुनिश्चित नहीं है कि यह क्वालिफ़ी है आपकी तत्काल समस्या का उत्तर के रूप में, लेकिन सामान्य सिफारिश भविष्य की प्रूफ तकनीक का उपयोग करना है जो एक उचित polyfill पर वापस आती है।

आपके विशिष्ट मुद्दे के लिए, मेरा मानना ​​है कि वेबसॉकेट सर्वश्रेष्ठ वेबबॉकेट सर्वर (नोड.जेएस, काज़िंग) के साथ संयोजन में सबसे अच्छी तकनीक है, अच्छे फॉलबैक विकल्पों के साथ। मैं काज़िंग से अधिक परिचित हूं: यह मूल वेबसॉकेट प्रदर्शन के रूप में गैर-वेबसॉकेट-अनुरूप ब्राउज़र पर वही प्रदर्शन प्रदान करता है। वेबसॉकेट अनुकरण पर अधिक जानकारी के लिए, आपको this post useful on WebSocket emulation मिल सकता है।

+0

वेबसाइट्स ** ** अधिकांश 3 जी कनेक्शन पर काम नहीं करते हैं। बैंडविगॉन पर कूदते समय इसे ध्यान में रखें। –

+0

यही कारण है कि इम्यूलेशन इतना महत्वपूर्ण है ... –

1

यह 4KB बफर समस्या एक लंबे समय के लिए चारों ओर से किया गया है और अभी भी डेस्कटॉप ब्राउज़र के साथ ही एंड्रॉयड Internet.app (जो मैं के बारे में पता नहीं था) पर मामला है।

समाधान प्रारंभिक कनेक्शन के साथ 4 केबी खंड भेजने के लिए है। और यह एक परिदृश्य है जहां HTTP StreamingHTTP Long-Polling से बेहतर समाधान है। स्ट्रीमिंग के साथ आप नए डेटा उपलब्ध होने पर कनेक्शन को खोलते रहते हैं, जहां आप बंद करते हैं और फिर कनेक्शन को फिर से खोलते हैं, तो लंबे समय तक मतदान के विपरीत। इस तकनीक का मतलब है कि बेकार डेटा का प्रारंभिक दुर्भाग्यपूर्ण 4 केबी हिस्सा है लेकिन उससे परे सभी डेटा वास्तविक डेटा (उपयोग योग्य) है। मैंने अपने जीवन के घंटों को इस बफर आकार के साथ गड़बड़ कर दिया है और यह कभी-कभी वेब ब्राउज़र के बीच असंगत होता है।

लेकिन, Caplin Systems जैसी कंपनियां हैं जो अपने उद्यम स्तर अनुप्रयोगों में HTTP स्ट्रीमिंग का उपयोग करती हैं, जो कई वित्तीय संस्थानों द्वारा उपयोग की जाती हैं, इसलिए यह लगातार काम करना संभव है।

क्या कोई व्यक्ति 4KB पर संदेशों को पैड करने की आवश्यकता के बिना एंड्रॉइड ब्राउज़र पर धूमकेतु तकनीक को कार्यान्वित करने में कामयाब रहा है?

यह बेहद असंभव है कि यह कभी भी होगा। और वेबसाकेट्स (जैसा कि @ पीटर मोस्कोविट्स द्वारा इंगित किया गया है) इस तरह के द्वि-दिशात्मक संचार (इस समय धक्का पर जोर देने के साथ) भविष्य में क्रॉस-ब्राउज़र प्राप्त किया जाएगा।एंड्रॉइड के लिए इसका मतलब यह है कि उपयोगकर्ता को फ्लैश फ़ॉलबैक तकनीक का समर्थन करने के लिए इंटरनेट एप्लिकेशन के लिए अपने डिवाइस पर फ़्लैश स्थापित करने की आवश्यकता होगी, जो इस समय के लिए एंड्रॉइड के बाद आवश्यक होगा, वेबसाकेट्स का मूल रूप से समर्थन नहीं करता है।

1

एंड्रॉइड पर, और ब्राउज़र के साथ, और आरजीडी। WebSockets:

  • फ़ायरफ़ॉक्स मोबाइल समर्थन (। Incl अंतिम RFC6455)

  • निर्मित ब्राउज़र जो भी WS के लिए कोई समर्थन नहीं है है (। करने के लिए और सहित अप एंड्रॉयड 4)

  • मोबाइल के लिए

    क्रोम (पूर्ण आरएफसी 6455) .. केवल एंड्रॉइड 4

+0

एंड्रॉइड 4.4 के रूप में वेबसाइट्स का प्रदर्शन किया जाता है –

संबंधित मुद्दे