मैं node.js के साथ सॉकेट का उपयोग करने की कोशिश कर रहा हूं, मैंने सफलता प्राप्त की लेकिन मुझे नहीं पता कि मेरे कोड में ग्राहकों को कैसे अंतर किया जाए। सॉकेट के विषय में हिस्सा यह है:webSocketServer node.js क्लाइंट को अलग करने के लिए कैसे करें
var WebSocketServer = require('ws').Server,
wss = new WebSocketServer({port: 8080});
wss.on('connection', function(ws) {
ws.on('message', function(message) {
console.log('received: %s', message);
ws.send(message);
});
ws.send('something');
});
इस कोड को अपने ग्राहक जे एस के साथ ठीक काम करता है।
लेकिन मैं किसी विशेष उपयोगकर्ता या मेरे सर्वर पर सॉकेट वाले सभी उपयोगकर्ताओं को एक संदेश भेजना चाहता हूं।
मेरे मामले में मैं एक ग्राहक के रूप में एक संदेश भेजता हूं और मुझे एक प्रतिक्रिया प्राप्त होती है लेकिन अन्य उपयोगकर्ता कुछ भी नहीं दिखाते हैं।
मुझे उदाहरण के लिए उपयोगकर्ता 1 वेबसाकेट के माध्यम से सर्वर को एक संदेश भेजता है और मैं उपयोगकर्ता 2 को एक सूचना भेजता हूं जिसकी सॉकेट खुली है।
_you_ कैसे परिभाषित करते हैं जो कनेक्शन "user1" है और जो "user2" क्या है? – lanzz
मुझे वास्तव में पता नहीं है, मैंने – Ajouve
को कनेक्ट करते समय उपयोगकर्ता को सॉकेट सत्र देने का विचार किया, ठीक है, जैसे ही आप कनेक्शन के _user पहचान_ को जानते हैं (उदाहरण के लिए जब आपका उपयोगकर्ता अपना उपयोगकर्ता नाम संदेश के रूप में भेजता है), तो आप कर सकते हैं एक शब्दकोश में इसका नाम संदर्भित करें (उदाहरण के लिए 'कनेक्शन [उपयोगकर्ता नाम] = ws') और उसके बाद, कहीं और, आप' कनेक्शन [उपयोगकर्ता नाम] .send (संदेश) ' – lanzz