質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Socket.IO

Socket.IOはNode.js上で動くライブラリであり、すべてのブラウザとモバイルデバイスでリアルタイムのアプリを作動させる事を目的としています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

0回答

1653閲覧

ラジオボタンで「ok」の方を押している人の人数をsocket ioで取得したい

yahret45

総合スコア41

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Socket.IO

Socket.IOはNode.js上で動くライブラリであり、すべてのブラウザとモバイルデバイスでリアルタイムのアプリを作動させる事を目的としています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2016/10/08 01:17

socket ioで現在アクセスしている人のうち、何人がラジオボタンの「OK」を押しているか、人数を把握したいと考えております。

ご教授のほど何卒よろしくお願いいたします。

javascript

1var http = require('http'); 2var path = require('path'); 3 4var socketio = require('socket.io'); 5var express = require('express'); 6 7var router = express(); 8var server = http.createServer(router); 9var io = socketio.listen(server); 10 11router.use(express.static(path.resolve(__dirname, 'public'))); 12 13var clients = []; 14 15io.on('connection', function (socket) { 16 console.log("ID: "+socket.id.substring(2)+"has connected"); 17 clients[socket.id] = { 18 vote:'' 19 }; 20 21 io.sockets.emit('count', socket.client.conn.server.clientsCount); 22 23 socket.on('vote', function(data){ 24 clients[socket.id].vote = data; // good or bad 25 var result = calcVote(clients); 26 io.sockets.emit('vote', result); 27 }); 28 29 socket.on('disconnect', function() { 30 delete clients[socket.id]; 31 io.sockets.emit('count', socket.client.conn.server.clientsCount); 32 }); 33 34 35}); 36 37var calcVote = function(calcclients){ 38 var sums = { 39 good:0, 40 bad:0 41 }; 42 calcclients.forEach(function(client){ 43 switch (client.vote) { 44 case 'good' : 45 sums.good += 1; 46 break; 47 case 'bad' : 48 sums.bad += 1; 49 break; 50 } 51 }); 52 return sums; 53}; 54 55server.listen(process.env.PORT || 3010, process.env.IP || "0.0.0.0", function(){ 56 var addr = server.address(); 57 console.log("Chat server listening at", addr.address + ":" + addr.port); 58});

HTML

1 <div class="sample clearfix"> 2 <input type="radio" name="s2" id="off" value="0" checked="checked"> 3 <label for="off" class="switch-off" id="btnng">う〜ん。。</label> 4 <input type="radio" name="s2" id="on" value="1"> 5 <label for="on" class="switch-on" id="btnok">なるほど!</label> 6 </div>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問