मैं मेटीर में एक डेटा-संवेदनशील एप्लिकेशन लिख रहा हूं, और जितना संभव हो उतना अधिक जानकारी तक ग्राहक पहुंच को सीमित करने की कोशिश कर रहा हूं। इसलिए, मैं सर्वर पक्ष को लॉग-इन, और अज्ञात, उपयोगकर्ताओं की संख्या गिनने का एक तरीका कार्यान्वित करना चाहता हूं।उल्का में अज्ञात उपयोगकर्ता सर्वर-साइड की संख्या को कैसे ट्रैक करें?
मैंने कई तरीकों की कोशिश की है। पहले के रूप में इस सवाल का Server cleanup after a client disconnects, जो में hooking पता चलता है में उल्लिखित किया गया था:
this.session.socket.on("close")
लेकिन जब मैंने किया था, और एक संग्रह बदलने की कोशिश की, फेंक दिया एक त्रुटि "उल्का कोड हमेशा एक फाइबर के भीतर चलाना चाहिए"। मुझे लगता है कि यह समस्या इसलिए है क्योंकि सॉकेट बंद होने के बाद, फाइबर मारे जाते हैं, और इसलिए डेटाबेस तक पहुंच असंभव है। ओपी ने "Meteor code must always run within a Fiber" when calling Collection.insert on server को एक संभावित समाधान के रूप में इंगित किया, लेकिन मुझे यकीन नहीं था कि उत्तर की टिप्पणियों के आधार पर यह सबसे अच्छा तरीका है या नहीं।
मैं तो चर पर autorun करने की कोशिश की:
Meteor.default_server.stream_server.all_sockets().length
लेकिन ऑटोरन लग रहा था कभी नहीं कहा जाता था, इसलिए मुझे लगता है कि चर संभालने कर रहा हूँ एक प्रतिक्रियाशील संदर्भ नहीं है, और मुझे यकीन है कि कैसे करने के लिए नहीं था इसे एक बनाओ
अंतिम विचार एक रखरखाव शैली की बात करना था, लेकिन ऐसा लगता है कि उल्का दर्शन के अनाज के खिलाफ पूरी तरह से जाना जाता है, और मुझे लगता है कि मैं केवल एक पूर्ण अंतिम उपाय के रूप में उपयोग करूंगा।
मैंने पर कार्यों के console.log
किया, और एकमात्र अन्य कार्य संभवतः .on("data")
था, लेकिन यह सॉकेट बंद होने पर नहीं कहा जाता है।
मैं यहां कुछ नुकसान पहुंचा रहा हूं, इसलिए कोई मदद बहुत अच्छी होगी, धन्यवाद।
इस के लिए पर्याप्त धन्यवाद नहीं कर सकता :) – Pawan
हालांकि यह बहुत अच्छा है, दस्तावेज़ विशेष रूप से कहते हैं कि यह एनन उपयोगकर्ताओं को ट्रैक नहीं करता है, इसलिए यह वास्तव में मूल प्रश्न का उत्तर नहीं देता है। – cazgp
@cazgp चूंकि मैंने इस पोस्ट को लिखा है, मैंने अज्ञात उपयोगकर्ताओं को ट्रैक करने के लिए पैकेज को अद्यतन किया है। जाहिर है हम अज्ञात उपयोगकर्ताओं को 'Meteor.users' में ट्रैक नहीं कर सकते हैं, लेकिन उनके कनेक्शन सभी ट्रैक किए गए हैं। –