मुख्य सामग्री पर जाएँ

लाइसेंस हार्टबीट और ऑफ़लाइन सत्यापन

दोनों सेटिंग लाइसेंस नीति में हैं, लेकिन अलग हैं: ऑनलाइन कितनी बार सर्वर से संपर्क हो, और संपर्क न होने पर कितने समय तक चल सके।

हार्टबीट अंतराल: कितनी बार सत्यापन

हार्टबीट अंतराल (सेकंड) दें 600, चलते समय SDK लगभग हर 10 मिनट में हार्टबीट भेजता है। हर सफल अनुरोध नए नियम लेता है और स्थानीय लाइसेंस कैश अपडेट करता है।

600–86400 सेकंड दें। दें 0 नियत हार्टबीट बंद करता है। ऐप फिर भी स्वयं जाँच या अपडेट कर सकता है। समय में 0–10% यादृच्छिक देरी जुड़ती है; अंतराल 600 सेकंड से कम नहीं होता।

डिवाइस से जुड़ी लाइसेंस की कैश वैध हो तो पहले अनुमति लौटती है, फिर पृष्ठभूमि में ऑनलाइन जाँच होती है, टाइमर बंद होने पर भी। केवल ऑनलाइन और फ्लोटिंग सीट के लिए सर्वर की पुष्टि जरूरी है।

ऑफ़लाइन अवधि: सर्वर न मिले तो कितनी देर चले

ऑफ़लाइन मोड में तीन विकल्प हैं। हार्टबीट अंतराल नहीं बदलता।

निर्धारित अवधि की अनुमति
24 घंटे रखने पर कैश अंतिम सफल ऑनलाइन सत्यापन से अधिकतम 24 घंटे वैध है। इस समय नेटवर्क या सर्वर अस्थायी बंद होने पर सॉफ्टवेयर चल सकता है। उसके बाद सफल ऑनलाइन सत्यापन चाहिए।
ऑफ़लाइन विकल्प अनुमति नहीं
शुरू होते समय सर्वर से सफल संपर्क जरूरी है; विफल अनुरोध पर डिस्क कैश प्रवेश नहीं देता। चलते समय मिला छोटा हस्ताक्षर अधिकतम वैध है max(10, 心跳间隔) सेकंड; ऐप सत्यापन व फ़ीचर अनुमति जाँच जारी रखे।
स्थायी ऑफ़लाइन उपयोग की अनुमति
स्थानीय हस्ताक्षर लंबे समय और नेटवर्क विफलता में भी अनुमति जांच सकता है। 30 दिन का लाइसेंस 30 दिन में समाप्त होगा; स्थायी ऑफ़लाइन उसे स्थायी लाइसेंस नहीं बनाता।

API उपयोग करता है offline_mode इन तीन विकल्पों का क्रम है limited, none, permanent। निश्चित ऑफ़लाइन अवधि में,offline_seconds 1–31536000 सेकंड; अन्य दोनों में 0।

ये संयोजन कैसे चलते हैं?

हार्टबीट / ऑफ़लाइन सेटिंगवास्तविक व्यवहार
10 मिनट / 24 घंटेऑनलाइन हर 10 मिनट सत्यापन। ऑफ़लाइन अंतिम सफल जांच से अधिकतम 24 घंटे उपयोग
10 मिनट / स्थायी ऑफ़लाइनहर 10 मिनट प्रयास; सफलता पर नियम अपडेट, संपर्क न हो तो मान्य हस्ताक्षर उपयोग।
0 / स्थायी ऑफ़लाइनवैध कैश से शुरू करें, तय अनुरोध नहीं। स्वयं सत्यापन या refresh करने पर सर्वर से संपर्क होगा
0 / 24 घंटेनियत हार्टबीट नहीं, कैश फिर भी समाप्त। ऐप स्वयं सत्यापन तय करे; हार्टबीट बंद से ऑफ़लाइन अवधि नहीं बढ़ती।

ऑफ़लाइन अवधि हार्टबीट अंतराल से लंबी रखें। हर घंटे हार्टबीट लेकिन सिर्फ 1 मिनट ऑफ़लाइन होने पर हस्ताक्षर अगली हार्टबीट से पहले समाप्त होगा; अलग सत्यापन जरूरी है।

नीति बदलने पर पुराने लाइसेंस बदलते हैं?

हाँ। नीति सहेजने पर सीमाएँ, सुविधाएँ, कोटा, मॉडल, रखरखाव और संस्करण सभी जुड़े, निरस्त न किए गए लाइसेंसों में एक ही लेनदेन में सिंक होते हैं। हर लाइसेंस पर दोबारा नीति लागू नहीं करनी पड़ती।

सिंक हर लाइसेंस की अवधि प्रकार, दिन, पहली सक्रियता, समाप्ति, ग्राहक, उपयोग और अलग रखरखाव विस्तार बचाता है। नीति की अवधि केवल नए लाइसेंस पर लागू होती है; 30 दिन का लाइसेंस स्थायी नहीं बनता।

मॉडल बदलते समय सक्रिय डिवाइस या सत्र बचे हों, या नई सीमा वर्तमान उपयोग से कम हो, तो सेव लौटाता है ACTIVE_DEVICES_CONFLICT, और नीति या जुड़े लाइसेंस आंशिक रूप से नहीं बदलते। टकराने वाले डिवाइस रिलीज़ करके फिर सहेजें।

सफल सेव के बाद जुड़े पुराने और नए लाइसेंस अगले सफल सक्रियण, सत्यापन या हार्टबीट पर नए नियम लेते हैं। SDK कैश को नए हस्ताक्षर से बदलता है। वही Idempotency-Key दोहराने पर मूल परिणाम मिलता है।

ऑफ़लाइन डिवाइस पुराने हस्ताक्षरित नियम इस्तेमाल करता है। केवल नेटवर्क लौटने से कैश नहीं बदलता; एक अनुरोध सफल होना चाहिए। ऐप नेटवर्क लौटने पर refresh कर सकता है।

नीति लागू करें का अभी भी एक उपयोग है।

चुने हुए लाइसेंस दूसरी नीति में ले जाने के लिए लाइसेंस पृष्ठ पर चुनकर नीति लागू करें से पूर्वावलोकन करें। वर्तमान जुड़ी नीति संपादित करते समय केवल सहेजना ही अपने आप सिंक करता है।

स्पष्ट ऑनलाइन रिफ्रेश

ये तरीके हमेशा सर्वर से संपर्क करते हैं, स्थायी ऑफ़लाइन और बंद हार्टबीट में भी। सफलता हस्ताक्षर बदलती है; नेटवर्क विफलता refresh त्रुटि देकर वैध कैश रखती है। स्पष्ट रद्द या रिलीज़ होने पर कैश मिटता है।

भाषाकॉल करने का तरीका
Goclient.RefreshOnline(ctx)
Javaclient.refreshOnline()
Cln_refresh_online(client)
C++client.RefreshOnline()
C#await client.RefreshOnline()
Pythonclient.refresh_online()
JavaScriptawait client.refreshOnline()

सफल refresh एक सक्रियण API अनुरोध गिना जाता है। नीति पहले बंद हार्टबीट चालू करे तो अपनी भाषा का StartHeartbeat बुलाएं। ऑफ़लाइन डिवाइस रद्द या रिलीज़ की सूचना नहीं पाते।