JavaScript node.js express socket.ioでチャットアプリケーションを作っています。
入室者の一覧機能を作りたいのですが、入室したタイミングでユーザー名を入室者一覧に追加するように
しているのですが、後から入ったユーザーは、その前に入っているユーザーの名前が表示されません。
後から入ったユーザーにも、全員分見れるようにするにはどのようにすればいいでしょうか?
初心者ながら調べてみたもののよく分からず、この場をお借りしました。
一応、コードはこのような感じになっています。
html部分
html
1 <div id="user-list"> 2 <ul id="user"></ul> 3 </div>
こちらクライアント側コード
javascript
1 socket.on('login',function(time,name){ 2 var text = time + name + 'が入室しました。'; 3 addUser(text); //入室者を通知し表示する関数 4 enterUser(name); //入室者一覧に表示する関数 5 }); 6 7 //入室者を一覧に表示する処理 8 function enterUser(text){ 9 var li = document.createElement('li'); 10 var ul = document.getElementById('user'); 11 li.textContent = text; 12 ul.appendChild(li); 13 }
サーバー側 入室処理
javascript
1io.sockets.on('connection',function(socket){ 2 socket.on('login',function(name){ 3 var dt = new Date(); 4 var time = dt.toFormat("YYYY/MM/DD HH24時MI分SS秒"); 5 io.sockets.emit('login',time,name); 6 socket.name = name; 7 }); 8 9 10 //ログアウト、メッセージに関する処理・・・ 11}); 12
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。