विनिर्देशों के अनुसार , यह हमेशा क्लाइंट होता है जिसे सर्वर से कनेक्शन स्थापित करना चाहिए।
ग्राहक:
एक प्रोग्राम या डिवाइस जो MQTT का उपयोग करता है। एक क्लाइंट हमेशा सर्वर से नेटवर्क कनेक्शन स्थापित करता है । यह
अन्य ग्राहकों को रुचि हो सकती है कि आवेदन संदेश प्रकाशित करें।
एप्लिकेशन संदेशों का अनुरोध करने के लिए सदस्यता लें जो इसे प्राप्त करने में रुचि रखते हैं।
अनुप्रयोग संदेशों के लिए एक अनुरोध को हटाने के लिए सदस्यता समाप्त करें।
सर्वर से डिस्कनेक्ट करें।
और यदि यह क्लाइंट किसी एप्लिकेशन संदेश के लिए सदस्यता लेता है, तो सर्वर को उन संदेशों को इस विशेष क्लाइंट को अग्रेषित करना चाहिए।
सर्वर:
एक प्रोग्राम या डिवाइस जो ग्राहकों के बीच मध्यस्थ के रूप में कार्य करता है जो एप्लिकेशन संदेश और ग्राहक जो सदस्यता बना चुके हैं को प्रकाशित करते हैं। एक सर्वर
ग्राहकों से नेटवर्क कनेक्शन स्वीकार करता है।
ग्राहकों द्वारा प्रकाशित अनुप्रयोग संदेश स्वीकार करता है।
ग्राहक सदस्यता लें और ग्राहकों से अनुरोध अनसब्सक्राइब करें।
फॉरवर्ड एप्लिकेशन मैसेज जो क्लाइंट सब्सक्रिप्शन से मेल खाते हैं ।
क्या इसका मतलब यह है कि यदि कोई ग्राहक सदस्यता लेता है, तो वह सर्वर से जुड़ा रहता है जबकि सदस्यता वैध होती है, जबकि अधिकांश समय में डेटा प्रवाह नहीं होता है?
मैं इस निष्कर्ष पर आता हूं क्योंकि यदि ग्राहक सदस्यता के बाद डिस्कनेक्ट करता है, तो एक सर्वर उसे संदेश अग्रेषित नहीं कर सकता क्योंकि यह क्लाइंट है जो कनेक्शन स्थापित करना चाहिए। लेकिन यह नहीं पता होगा कि इसे फिर से कब स्थापित किया जाए।