मैं Autobahn और WAMP का उपयोग कर वेब ऐप के लिए कुछ समान (धीरे-धीरे) कार्यान्वित कर रहा हूं, यह प्रोटोकॉल और राउटर से जुड़ा हुआ है। मेरे पास वर्तमान में लगभग पांच अलग-अलग सेवाएं हैं (कुछ PHP में लिखी गई हैं, कुछ NodeJS में हैं) साथ ही क्लाइंट सभी वास्तविक समय में संचार कर रहे हैं।
WAMP के बारे में अच्छी बात यह है कि यह संचार के लिए दूरस्थ प्रक्रिया कॉल (RPC) और पब्लिश/सब्सक्राइब (PubSub) मॉडल दोनों को इनकैप्सुलेट करता है।
मेरी प्रमाणीकरण योजना थोड़ी गड़बड़ है:लारवेल वेब ऐप के प्रत्येक पृष्ठ पर, एक टोकन मान होता है जो उपयोगकर्ता के लिए अद्वितीय होता है और लारवेल ऐप में लॉग इन करने पर उत्पन्न होता है। जब क्लाइंट WAMP राउटर से कनेक्ट होता है तो जावास्क्रिप्ट इस टोकन वैल्यू का उपयोग प्रमाणित करने के लिए करता है - यदि यह अमान्य (या पुराना) टोकन है, तो कनेक्शन अस्वीकार कर दिया गया है।
विशिष्ट उपयोगकर्ताओं या समूहों के लिए अधिसूचनाओं को सीमित करने के लिए, ऐसा करने का एक आसान तरीका उचित जेएस कोड को एक फ़ंक्शन में लपेटना होगा जिसे केवल कॉल किया जाता है (या केवल ब्लेड टेम्पलेट में क्लाइंट को आउटपुट होता है) यदि उपयोगकर्ता के पास उपयुक्त है अनुमतियाँ।
अंत में, मेरा आवेदन सख्ती से हमारे फ़ायरवॉल के अंदर उपयोग के लिए है, इसलिए मैंने एन्क्रिप्शन/डिक्रिप्शन का उपयोग करके जांच नहीं की है।