flash - एक्शन स्क्रिप्ट 3.0 सॉकेट रीकनेक्ट नहीं कर सकते



actionscript-3 sockets (1)

कनेक्ट टाइम टाइमआउट के बाद एक TCP श्रोता के लिए मुझे (सॉकेट और XMLSocket कक्षाओं के माध्यम से) कनेक्ट करने में समस्या हो रही है I

मेरे पास एक फ्लैश एप्लेट है जिसे किसी सर्वर पर एक टीसीपी कनेक्शन बनाए रखने की जरूरत है I मैंने टाइमर, एक पिंग-पोंग सिस्टम आदि का प्रयोग कर समय समाप्ति की है। हालांकि, एक समस्या है। Socket.connect () पर कॉल करने पर, फ्लैश प्लेयर (उससे पहले 9.0.115 और कई अन्य थैले) SYN पैकेट के माध्यम से 3 कनेक्शन अनुरोध भेजता है, कुछ समय के बीच में अगर उनमें से कोई भी जवाब नहीं दिया गया है (उदाहरण के लिए क्योंकि सर्वर डाउन है), मैं एप्लेट को सर्वर से कनेक्ट करने का [प्रयास] नहीं प्राप्त कर सकता। कभी। यही है, एप्लेट के जीवनकाल के भीतर

स्पष्ट करने और / या संक्षेप करने के लिए:

Socket.connect () या XMLSocket.connect () में दिए गए किसी भी होस्ट / पोर्ट जोड़ी के लिए, यदि कॉल विफल हो जाती है, तो किसी भी अन्य सॉकेट (या XMLSocket) उदाहरणों के लिए किसी भी अन्य सॉकेट (या XMLSocket) को फ्लैश ऐप्पलेट के जीवनकाल में कॉल करने के लिए कॉल करता है मेजबान / पोर्ट जोड़ी को नजरअंदाज कर दिया। (कम से कम जहां तक ​​मैं पैकेट स्निफ़र का इस्तेमाल कर सकता हूं।)

मैंने कई सॉकेट विधियों को बुलाया, ऑब्जेक्ट को नष्ट करने और सॉकेट्स के एक पूल का उपयोग करके, और कई अन्य तरीकों को मैं अभी याद नहीं कर सकता फोन करने की कोशिश की है; सबको कोई फायदा नहीं हुआ

मेरा वर्तमान समाधान एक जावास्क्रिप्ट कॉल के माध्यम से मूल वेबपेज को सूचित करना है और उसे अपने ऐपलेट को पुनः लोड करने दें यह एक बहुत ही आसान समाधान नहीं है, और मैं समस्याओं के समाधान के लिए इसे लागू करने के बारे में नहीं हूं, सिर्फ इसलिए कि फ्लैश सॉकेट कनेक्शन को ठीक तरह से नियंत्रित नहीं कर सकता

मुझे कुछ बहुत आसान याद आना चाहिए।

कोई विचार?

1: मुझे पता है कि आप वास्तव में वस्तुओं को नष्ट नहीं कर सकते हैं; मैं उनके सभी संदर्भों को हटा देता हूं और सबसे अच्छी उम्मीद करता हूं मैंने इस मामले में स्पष्ट रूप से जीसी का आह्वान करने की कोशिश नहीं की है। (हालांकि मुझे लगता है कि मैंने गर्तिका को एक सरणी के अंदर डालने और हटाने का उपयोग करने की कोशिश की थी।)

हां, यह काम करता है अगर कनेक्शन सफल होता है (भले ही कनेक्शन बाद में चला जाता है।)

यह ट्रिगर करने वाला एकमात्र ऐसा मामला है जब सर्वर बिल्कुल जवाब नहीं देता; ऐसा लगता है कि फ्लैश मेजबान / पोर्ट संयोजन को "ऑफ़लाइन" के रूप में चिह्नित करता है और एप्लेट के जीवनकाल के लिए इसे और अधिक पैकेट भेजने पर परेशान नहीं करता।

मुझे कनेक्शन के एक सक्रिय इनकार पर संदेह है (जैसे होस्ट ऑनलाइन है लेकिन पोर्ट को नहीं सुनना) इसका कारण नहीं है

मुझे सॉकेट से कोई त्रुटि संदेश या किसी अन्य प्रकार की प्रतिक्रिया नहीं मिलती।

क्या आपने कभी एक ही मेजबान / पोर्ट जोड़ी से एक बार से अधिक (कनेक्ट) कहा है, जब पहली बार विफल हुआ? आपको पहले कनेक्ट () कैसे पता चले गए? और बाद में कनेक्ट () कॉल से पहले, क्या आपने गर्तिका को रीसेट करने के लिए कुछ भी किया है?


यह अनसुलझी बग FP-269 से संबंधित हो सकता है, जिसके बदले में एफपी -67 के समान मूल कारण हो सकते हैं।

यह बिल्ड labs.adobe.com पर पाए जाने वाले वर्तमान सार्वजनिक बीटा रिलीज में तय किया जाना चाहिए

एडविन वाँग - [09/23/08 04:49 अपराह्न]

मैं आपको नवीनतम सार्वजनिक बीटा को एक शॉट देने का सुझाव देता हूं ...