मैं चैट ऐप के लिए सिग्नलआर (0.5.3) हब्स का उपयोग कर रहा हूं जहां प्रत्येक कीस्ट्रोक सर्वर (डीबी में सहेजा गया) भेजा जाता है, सभी ग्राहकों और रिटर्न वैल्यू (प्रकार के स्ट्रिंग टोकन) सर्वर से वापस भेजा जाता है।ऐप पूल रीसायकल पर सिग्नलआर कनेक्शन हैंडलिंग
ऐप पूल रीसायकल होने तक यह ठीक काम करता है, फिर यह सभी ग्राहकों को कीस्ट्रोक को रिले करना बंद कर देता है (क्योंकि इन-मेमोरी सर्वर स्थिति खो जाती है मुझे लगता है) और सर्वर किसी भी मान को वापस नहीं लौटाता है। इस बिंदु पर, मुझे लगता है कि सिग्नलआर के माध्यम से सभी अनुरोध आईआईएस द्वारा कतारबद्ध किए जाते हैं और फिर ऐप पूल को पुनर्नवीनीकरण के बाद संसाधित किया जाता है।
मेरा सवाल यह है कि मैं इस परिदृश्य को कैसे संभाल सकता हूं ताकि सभी क्लाइंट ऐप पूल रीसायकल के कारण सर्वर अनुपलब्ध/देरी से अवगत हों, उपयोगकर्ता को थोड़ी देर इंतजार करने के लिए सूचित करें और फिर पुन: कनेक्ट करने के लिए ऑपरेशन फिर से शुरू करें?
विकल्प 1 पर: आप सही हैं, क्लाइंट को लंबे समय तक देरी (टाइमआउट) के बाद डिस्कनेक्शन के बारे में पता चल जाता है, इसलिए पुन: कनेक्शन/डिस्कनेक्ट की गई घटनाओं के माध्यम से हैंडलिंग काम नहीं कर सकता है लेकिन मैं अभी भी इसे एक शॉट दूंगा। – Nick
@ टेलर मुलेन - नमस्ते, क्या मैं सोचने में सही हूं कि इसका मतलब है कि अगर सिग्नल सर्वर दूर हो जाता है तो 0.5.3 के रूप में, क्लाइंट टाइमआउट तक पुनः कनेक्ट करने की कोशिश कर सकता है, और क्लाइंट पक्ष पर कोई घटना नहीं हो सकती है इस समय इस पर पता लगाने के लिए इस्तेमाल किया? चीयर्स – Will
@ आंशिक रूप से सही होगा। 0.5.3 में आपको "अब रिकनेक्टिंग" जैसी कोई विशिष्ट घटना नहीं मिलेगी, लेकिन आप यह पता लगा सकते हैं कि सिग्नलर राज्य के माध्यम से पुन: कनेक्ट करने का प्रयास कर रहा है। जब हम पुन: कनेक्ट करने वाले राज्य में जाते हैं तो राज्य परिवर्तनित घटना आग लग जाएगी और नया कनेक्शन राज्य फिर से जुड़ जाएगा। साथ ही, क्लाइंट पर कोई टाइमआउट नहीं है, यह हमेशा के लिए फिर से कनेक्ट करने का प्रयास करेगा। –