io.sockets.clients()
에 관한 문서를 찾는 시간이 지났으므로 ID, 사용자 이름 등 연결된 클라이언트를 검색 할 수 있습니다. alert(io.sockets.clients().length.toString());
정확한 번호를 알려주지 만 필요합니다. 배열의 구조를 찾습니다. 구조를 모른 채 배열을 알아낼 수있는 방법이 있습니까? php의 코드는 print_r()
과 비슷합니까? 지금까지Socket.IO 연결된 클라이언트 목록
코드 :
socket.on('switchRoom', function(newroom){
var clients = io.sockets.clients();
socket.emit('users', clients);
});
socket.on('users', function(usernames) {
for(var client in usernames) {
console.log(usernames[client].id + ' disconnected: ' + usernames[client].disconnected)
}
});
나는
/home/ed/socket/chat/node_modules/socket.io/lib/parser.js:81
data = JSON.stringify(ev);
^
TypeError: Converting circular structure to JSON
at Object.stringify (native)
at Object.encodePacket (/home/ed/socket/chat/node_modules/socket.io/lib/parser.js:81:19)
at Socket.packet (/home/ed/socket/chat/node_modules/socket.io/lib/socket.js:202:21)
at Socket.emit (/home/ed/socket/chat/node_modules/socket.io/lib/socket.js:351:15)
at Socket.<anonymous> (/home/ed/socket/chat/app.js:58:10)
at Socket.$emit (events.js:64:17)
at SocketNamespace.handlePacket (/home/ed/socket/chat/node_modules/socket.io/lib/namespace.js:331:20)
at Manager.onClientMessage (/home/ed/socket/chat/node_modules/socket.io/lib/manager.js:436:38)
at WebSocket.onMessage (/home/ed/socket/chat/node_modules/socket.io/lib/transport.js:387:20)
at Parser.<anonymous> (/home/ed/socket/chat/node_modules/socket.io/lib/transports/websocket/hybi-07-12.js:38:10)
무엇 이 일어나고있다. 이 작업은 서버 (app.js)에서 수행되며 아무 것도 콘솔에 푸시되지 않습니다. –
첫 번째 부분은 서버에 있고 두 번째 부분은 클라이언트에 있다고 가정합니다. 'io.sockets.clients()'는'Socket' 객체들의 배열을 반환합니다; 인터넷을 통해 클라이언트로 보낼 수 없습니다. 사용자 이름 데이터를 가져 와서 문자열 배열 등을 전송해야합니다. 'socket.set'을 사용하여 사용자 이름을 설정하고 있습니까? 그렇지 않다면 어떻게 추적하고 있습니까? –
'socket.set ('username', 'MyName')'과'socket.set ('id', socket.id)'는 set 변수를 가져올 수있는 방법이며,'.emit'을 고객? –