मुझे यह पता लगाने में सक्षम होना चाहिए कि जब उपयोगकर्ता सॉकेट से कनेक्शन खो देता है, तो ऐसा लगता है कि socket.on("disconnect")
को कॉल किया जा रहा है जब मैं अपना लैपटॉप बंद कर देता हूं, इसलिए यह नहीं है उपयोगकर्ता को ऑफ़लाइन के रूप में चिह्नित करने के लिए डेटाबेस को अद्यतन करने के लिए चलाने के लिए AJAX कॉल चलाएं। मैं कैसे जांच सकता हूं कि कनेक्शन बंद कर दिया गया है या जो भी हो?सॉकेट आईओ पता लगाता है कि क्लाइंट कनेक्शन खो गया है
उत्तर
हम इस पर भी आए और ऊपर बताए गए अनुसार हमारे दिल की धड़कन टाइमर का उपयोग करें।
उदाहरण के लिए सर्वर हर 5 सेकंड में दिल की धड़कन उत्सर्जित करेगा (हम सर्वर समय को सरल भेजते हैं)। ग्राहक के पास 11 सेकंड का टाइमआउट है, इसलिए इसमें दिल की धड़कन पकड़ने के 2 मौके हैं। अगर यह दिल की धड़कन प्राप्त करता है तो हम टाइमर को रीसेट करते हैं। यदि हम दोनों दिल की धड़कन को याद करते हैं तो टाइमआउट फ़ंक्शन चलाया जाता है और आप जो कुछ भी चाहते हैं वह करते हैं।
काफी सरल।
जैसा कि यहां बताया गया है https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO, सॉकेट.आईओ का अपना दिल की धड़कन कार्यान्वयन है। लेकिन डिफ़ॉल्ट खोए गए कनेक्शन के लिए 25s अंतराल और 60 के थ्रेसहोल्ड हैं।
तो मेरी सलाह: परीक्षण पर अपेक्षा के अनुसार डिफ़ॉल्ट सेट करें। अन्यथा आप दहलीज याद कर सकते हैं।
उदाहरण:
socket.set("heartbeat timeout", 10);
socket.set("heartbeat interval", 5);
यह स्वीकार्य उत्तर होना चाहिए। यह पहली बार काम करता है ... मेरे मामले में टाइमआउट और अंतराल मिलीसेकंड में सेट है, इसलिए 10 के बजाय 10000 ... बिल्कुल सही धन्यवाद! –
- 1. जावा पता खो गया कनेक्शन
- 2. jQuery पता लगाता है कि क्या माता-पिता ने 'फोकस' खो दिया है
- 3. व्यूपार्जर पता लगाता है कि उपयोगकर्ता
- 4. सॉकेट आईओ सर्वर सर्वर
- 5. Google कैसे पता लगाता है कि आपके पास जीमेल में धीमी कनेक्शन है?
- 6. सत्र खो गया है?
- 7. SqlDataReader पता लगाता है कि कोई डेटा फ़ील्ड शून्य है
- 8. PHP पता लगाता है कि खोज दिनांक है या नहीं
- 9. विजुअल स्टूडियो यह पता लगाता है कि हॉटकी को क्या आदेश दिया गया है
- 10. पीएचपी कैसे पता लगाता है कि एक सत्र का समय समाप्त हो गया है?
- 11. पता लगाना कि इंटरनेट कनेक्शन व्यस्त है
- 12. Oracle.DataAccess.Client.OracleException ORA-03135: कनेक्शन खो गया संपर्क
- 13. पता लगाएं कि क्या फ़ायरबेस कनेक्शन गुम हो गया है/वापस प्राप्त किया गया है
- 14. सॉकेट आईओ दोबारा कनेक्ट करें?
- 15. पीईसाइड/पीईक्यूटी पता लगाता है कि क्या उपयोगकर्ता विंडो
- 16. Vbscript पता लगाता है कि क्या यूएसी-एलिवेटेड
- 17. jQuery.html (कुछ) पता लगाता है कि इंजेक्शन पूरा होने पर
- 18. एक RabbitMQ क्लाइंट कैसे सर्वर से कनेक्शन खो देता है जब बता सकता है?
- 19. यह पता लगाने के लिए कि क्या जेएमएस कनेक्शन है?
- 20. ओपनसीवी समरूप चौराहे का पता लगाता है
- 21. एसक्यूएल सर्वर कनेक्शन पूल बंद कनेक्शन का पता नहीं लगाता है?
- 22. सॉकेट कनेक्शन निरस्त किया गया था - CommunicationException
- 23. सॉकेट कनेक्शन
- 24. jQuery एनीमेशन एनिमेटिंग अगर पता लगाता है?
- 25. जावा हैशैप टकराव का पता लगाता है
- 26. यह पता लगाने के लिए कि मेरा आवेदन क्यूटी में फोकस खो गया है?
- 27. सॉकेट समापन समस्या - डेटा का अंतिम भाग खो दिया है
- 28. आने वाले सॉकेट कनेक्शन का स्रोत पता प्राप्त करना
- 29. एकाधिक सॉकेट कनेक्शन
- 30. क्या यह पता लगाना संभव है कि क्लाइंट द्वारा स्ट्रीम बंद कर दिया गया है या नहीं?
मैं एक श्रोता, या 'दिल की धड़कन' है कि सर्वर से प्रतिक्रिया के लिए ग्राहकों की जाँच करता है होने का प्रस्ताव होगा। यह वो है जो मैं करुंगा। –
मैंने इसे अपनी वेबसाइट के पिछले संस्करण में किया था, हालांकि किसी दिए गए समय पर पर्याप्त उपयोगकर्ताओं को दिया गया है, ऐसा लगता है कि यह सर्वर पर केवल ओवरलोड हो सकता है, जहां तक अनुरोधों की संख्या बढ़ जाती है, हालांकि यह सबसे अच्छा हो सकता है, और केवल विकल्प। –
socket.io दिल की धड़कन का उपयोग करता है, इसलिए मुझे यकीन है कि यह करने योग्य है – EhevuTov