[解決済み] Socket.ioを使用しているすべてのクライアントを更新しますか?
2023-07-07 11:33:08
質問
socket.ioを使用して、すべてのクライアントを強制的に更新することは可能でしょうか。下記を試したのですが、新しいクライアントが接続しても他のクライアントを更新しないようです。
サーバーサイドの JavaScript です。
すべてのクライアントに現在の接続ユーザー数を含むメッセージを送信しようとしていますが、正しくユーザー数が送信されます。私は、これがリアルタイムで起こることを望んでいます。
var clients = 0;
io.sockets.on('connection', function (socket) {
++clients;
socket.emit('users_count', clients);
socket.on('disconnect', function () {
--clients;
});
});
クライアントサイドのJavaScriptです。
var socket = io.connect('http://localhost');
socket.on('connect', function(){
socket.on('users_count', function(data){
$('#client_count').text(data);
console.log("Connection");
});
});
どのように解決するのですか?
実際には他のクライアントに更新を送信しておらず、代わりに接続したばかりのクライアントに送信しています (最初にロードしたときに更新が表示されるのはこのためです)。
// socket is the *current* socket of the client that just connected
socket.emit('users_count', clients);
代わりに 全て ソケットに
io.sockets.emit('users_count', clients);
あるいは、ブロードキャスト機能を使うこともできます。これは、起動したソケット以外のすべての人にメッセージを送信するものです。
socket.broadcast.emit('users_count', clients);
関連
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] package.jsonの各依存関係を最新バージョンに更新する方法は?
-
[解決済み] forEachループでasync/awaitを使用する
-
[解決済み] JavaScriptの配列で一意な値をすべて取得する(重複を排除する)。
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み] オブジェクトの配列からReactコンポーネントをレンダリングする
-
[解決済み] 無効になっている入力フィールドの値を送信する
-
[解決済み] サブドメインにまたがってlocalStorageを使用する
-
[解決済み] JavaScriptのArray.sort()メソッドでシャッフルするのは正しいのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] Google maps API V3 - 同一地点に複数のマーカーを設置する。
-
[解決済み] bootstrap のポップオーバーがすべての要素の上に表示されない
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] 無効になっている入力フィールドの値を送信する
-
[解決済み] JavaScriptで文字列を数値に変換する最速の方法は何ですか?
-
[解決済み] コールバック地獄とは何か、RXはそれをどのように、そしてなぜ解決するのか?
-
[解決済み] ECMAScriptとは?
-
[解決済み] javascriptのキャンバスで画像をリサイズする (スムーズ)
-
[解決済み] Fetch: ステータスがOKでない場合、プロミスを拒否し、エラーをキャッチするか?