クライアントからSocket.ioに接続しているクライアント一覧を取得
クライアントからSocket.ioに接続しているクライアント一覧を取得したいと思っています。
var http = require("http");
var server = http.createServer(function(req,res) {
res.write("Hello World!!"); // ・・・ ①
res.end(); // ・・・ ②
});
// socketioの準備
var io = require('socket.io')(server);
// クライアント接続時の処理
io.on('connection', function(socket) {
console.log("client connected!!")
// クライアント切断時の処理
socket.on('disconnect', function() {
console.log("client disconnected!!")
});
// クライアントからの受信を受ける (socket.on)
socket.on("from_client", function(obj){
console.log(obj)
});
});
server.listen(8080);
の①②の部分を
//接続しているクライアント情報取得
var clients = io.sockets.clients();
//接続しているクライアント数取得
var count = clients.length;
if (count !== 0) {
for (var i = 0; i < count; i++) {
res.write(clients[i]);
res.write("</ br>");
res.end();
}
}
にして、クライアントからhttp://<node.jsのサーバドメイン>/
にアクセスすれば一覧が出るようにしたいです。
しかし、この中ではioのインスタンスも作られていないためエラーが生じます。
どのように対処すればいいかご存じの方、ご教示お願いします。