2014-06-11 3 views
13

io.sockets.clients() विधि सॉकेट.ओ के बाद के संस्करणों से कम कर दिया गया है, और मेरे शोध के बाद कोई दस्तावेज नहीं मिला socket.io ऑफिकल वेब पर।सॉकेट.ओ संस्करण में एक कमरे से जुड़े सभी क्लाइंटों को सूचीबद्ध करना> 1

Morever, यह नीचे के रूप में ग्राहकों के लिए प्रकार की त्रुटि() विधि देता है:

TypeError: undefined is not a function

किसी को भी पता चल गया है कि कैसे Socket.io के बाद के संस्करणों के साथ एक कमरे में सभी जुड़े हुए ग्राहकों की सूची के लिए?

var namespace = '/'; 
var roomName = 'my_room_name'; 
for (var socketId in io.nsps[namespace].adapter.rooms[roomName]) { 
    console.log(socketId); 
} 

संपादित करें::

सॉकेट आईडी के आधार पर सॉकेट प्राप्त करने के लिए आप इस कोशिश कर सकते हैं:

+1

तो सबसे अच्छा होगा उन पर नज़र रखने के रूप में वे जुड़ते है। सॉकेट.आईओ आपकी परिवहन परत होनी चाहिए, न कि आपके सत्र प्रबंधक। – Brad

+0

ठीक है। मेरी प्रोजेक्ट में मेरे पास क्लाइंट क्लाइंट के लिए 2 सॉकेट चर सेट हैं। क्या सभी क्लाइंट्स के लिए इन चर के माध्यम से लूप करने के लिए वैसे भी है और देखें कि मैच क्या है? – Zander17

उत्तर

27

एक कमरे का उपयोग करने के लिए इस कोड जुड़े ग्राहकों के सॉकेट आईडी प्राप्त करने के लिए

var socket = io.sockets.connected[socketId]; 
+0

आपने एक बार फिर से मेरी मदद की है! मैं इसकी सराहना करता हूं। – Zander17

+2

यह वास्तव में उपयोगी है। क्या आप मुझे बता सकते हैं कि आपको यह कहां मिला? मुझे socket.io की आधिकारिक साइट पर कोई सुराग नहीं मिला। @CuriousGuy –

+2

@ टोनी चेन मुझे इसे आधिकारिक दस्तावेज़ों में भी नहीं मिला। मैंने बस socket.io ऑब्जेक्ट्स को 'console.log' – Curious

-2

सॉकेट.आईओ 1.4

प्राप्त करने के लिए सभी जुड़े उपयोगकर्ता की सरणी:

// io.sockets.connected returns an Object with socketId as its key 

var allConnectedClients = Object.keys(io.sockets.connected);// This will return the array of SockeId of all the connected clients 

सभी ग्राहकों की गणना पाने के लिए:

var clientsCount = io.engine.clientsCount ; // This will return the count of connected clients 
+1

के v1 से संबंधित नहीं है यह उत्तर वर्णन नहीं करता है कि सभी क्लाइंट * कमरे में * कैसे प्राप्त करें। – twistedpixel

संबंधित मुद्दे