io.sockets.clients()
のドキュメントを検索しているので、接続しているクライアントのID、ユーザー名などを取得できます。alert(io.sockets.clients().length.toString());
は正しい番号を返しますが、配列の構造を見つける。構造を知らずに配列を見つける方法はありますか? PHPのようなものprint_r()
?Socket.IO接続クライアントリスト
コードこれまでに:「switchRoom」が
/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)上で行われ、何もコンソールにプッシュされません。 –
最初の部分はサーバー上にあり、2番目の部分はクライアント上にあると仮定します。 'io.sockets.clients()'は 'Socket'オブジェクトの配列を返します。インターネット経由でクライアントに送信することはできません。ユーザー名データを取得して、文字列などを送信する必要があります。 'socket.set'を使ってユーザ名を設定していますか?そうでない場合は、どのようにそれらを追跡していますか? –
私は 'socket.set( 'username'、 'MyName')'と 'socket.set( 'id'、socket.id)'を使用して、設定されたvarsを取得し、 '.emit'をクライアント? –