2016-10-05 3 views
0

socket.ioを使用して接続されているソケットの数を記録しています。サーバー上でsocket.ioで接続されたソケットの数をカウントする

は、私がコード

let numClients = 0; 

io.on('connection', (socket) => { 
    io.sockets.emit('number sockets', numClients++); 

    socket.on('disconnect',() => { 
    io.sockets.emit('number sockets', numClients--); 
    }); 
}); 

とクライアント上を使用している、私は

socket.on('number sockets', (numClients) => { 
    document.getElementById('numClients').textContent = numClients; 
}); 

を使用していた。しかし、私はページを更新する場合は、数だけ上がります。同じ接続であってはなりませんか?

ウェブサイトを開いているソケットの数だけを確認するにはどうすればよいですか?

編集

は、私はそれが++numClients--numClientsする必要があります推測するが、それはまだ適切に解雇されていない切断イベントに大きな違いはありません。

+0

可能な複製http://stackoverflow.com/questions/6563885/socket-io-how-do-i-get-a-list-of-connected-sockets-clients – abdulbarik

答えて

-1

これにはgithub issueがあります。問題は、誰かがsocket.ioを切断しても配列から削除(スプライス)しないで値を "null"に設定することです。私はリンクとして投稿しました。

+0

http:// stackoverflowと同じ回答.com/a/10276446/2378710しかし、これは私がやっていることなので、それは私を助けてくれるとは思わないが、思った通りイベントは発砲していない。 – Jamgreen

+0

はい。私はあなたがその質問を逃したと思った。 OK。 –

+0

あなたが参照しているGithubのバグレポートは古く、最新のコメントはそれが現在のバージョンではもはや起こらないと言います。 – jfriend00

関連する問題