node.js - How to emit event in socket.io based on client? -
मैं क्लाइंट अनुरोध के आधार पर ईवेंट का उत्सर्जन करना है। उदाहरण के लिए : यदि उपयोगकर्ता url को ग्राहक कोड: यह दोनों ग्राहकों को मैं आपके दृष्टिकोण को समझ नहीं सका इस पर, लेकिन क्योंकि आपने कहा है कि आप अलग-अलग पृष्ठों का अनुवाद कर रहे हैं, इसका मतलब है कि आप अलग-अलग कोड की सेवा कर सकते हैं, तो इसके बारे में ऐसा करने के बारे में: सर्वर साइड: <पूर्व> ग्राहक पक्ष पर: pages.html: locations.html: <पूर्व> node.js, express और socket.io का उपयोग करके रीयलटाइम डेटा विज़ुअलाइज़ेशन एप्लीकेशन पर काम कर रहा हूं।
आवश्यकता:
http: // localhost: 8080 / pages socket.io क्लाइंट को विषय कोड और
http: // localhost: 8080 / स्थानों के लिए अन्य उपयोगकर्ता अनुरोध को छोड़ देना चाहिए सॉकेट को उस विशिष्ट उपयोगकर्ता को
स्थान का उपयोग करना चाहिए।
कोड
var सर्वर = app.listen ("8080"); Var सॉकेट = आवश्यक ('socket.io'); Var io = socket.listen (सर्वर); Var config = {}; Io.on ('कनेक्शन', फ़ंक्शन (सॉकेट) {config.socket = io.sockets.socket (socket.id); socket.on ('डिस्कनेक्ट', फ़ंक्शन () {console.log ('socket.io डिस्कनेक्ट है ');});}); App.get ('/ *', फ़ंक्शन (रिक, रेस) {var url = req.url; var eventName = url.substring ('/'। लंबाई); // पृष्ठ और स्थानों config.socket.volatile.emit ( EventName, परिणाम);});
// क्लाइंट कोड में कोई भी समस्या नहीं है.यह ठीक से काम कर रहा है नमूना कोड निम्नानुसार socket.on ('pages', फ़ंक्शन (परिणाम) {console.log (परिणाम);});
समस्या:
पृष्ठों और
स्थानों का उत्सर्जन करता है
var सर्वर = app.listen ("8080"); Var सॉकेट = आवश्यक ('socket.io'); Var io = socket.listen (सर्वर); Var config = {}; App.get ('/ pages', फ़ंक्शन (req, res) {res.render ('pages.html');}); App.get ('/ स्थानों', फ़ंक्शन (रीक, रिज़) {res.render ('locations.html');}); Io.on ('कनेक्शन', फ़ंक्शन (सॉकेट) {socket.on ('pagesEvent', फ़ंक्शन (डेटा) {socket.volatile.emit ('पृष्ठ', {अपने: 'डेटा'});}); सॉकेट पर ('स्थानोंऐवेंट', फ़ंक्शन (डेटा) {socket.volatile.emit ('स्थानों', {अपने: 'डेटा'});});});
Socket.on ('कनेक्ट', फ़ंक्शन () {socket.emit ('pagesEvent', {});}); Socket.on ('पृष्ठ', फ़ंक्शन (डेटा) {// यहां सामान करते हैं});
socket.on ('कनेक्ट', फ़ंक्शन () {socket.emit ('locationsEvent ', {});}); Socket.on ('स्थानों', फ़ंक्शन (डेटा) {// यहां सामान करते हैं});
Comments
Post a Comment