[解決済み] socket.ioとnode.jsで特定のクライアントにメッセージを送信する。
2022-02-18 23:08:31
質問
socket.ioとnode.jsを使っていて、今までは結構いい感じだったのですが、サーバーから特定のクライアントにメッセージを送る方法がわかりません、以下のような感じです。
client.send(message, receiverSessionId)
しかし
.send()
も
.broadcast()
メソッドは、私のニーズを満たしてくれるようです。
私が可能な解決策として見つけたのは
.broadcast()
メソッドは、メッセージを送信しないSessionIdsの配列を第2パラメータとして受け入れます。したがって、私はメッセージを送信したいものを除いて、その時点でサーバーに接続されているすべてのSessionIdsの配列を渡すことができましたが、私はより良い解決策があるはずだと感じています。
何かアイデアはありますか?
解決方法は?
まあ、そのためにはクライアントをつかまえなければならないのですが(驚)、簡単な方法をとることもできます。
var io = io.listen(server);
io.clients[sessionID].send()
が壊れる可能性はありますが、私はそうは思いません。
io.clients
変更される可能性があるので、上記は注意して使用してください。
あるいは、クライアントを自分で管理するため、クライアントを自分自身の
clients
オブジェクトを
connection
リスナーで削除し
disconnect
のリスナーです。
アプリケーションによっては、クライアントでより多くの状態を保持したい場合があるので、私なら後者を使用します。
clients[id] = {conn: clientConnect, data: {...}}
で済むかもしれません。
関連
-
[解決済み】Facebook Graph API のクエリで with=location を使用すると "Uncaught (in promise) undefined" というエラーが発生する。
-
[解決済み】document.getElementByIDは関数ではありません。
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み】コンソールがUnterminated JSX contentsエラーを投げる【終了しました
-
[解決済み】リソースはドキュメントと解釈されるが、MIMEタイプはapplication/zipで転送される
-
[解決済み】Uncaught TypeError: 未定義のプロパティ 'msie' を読み取れない - jQuery tools
-
[解決済み] Node.jsを完全にアンインストールして、最初から再インストールする方法 (Mac OS X)
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] Node.jsで現在のスクリプトのパスを取得するにはどうしたらいいですか?
-
[解決済み] socket.ioとwebsocketの違いについて
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】React Js: Uncaught (in promise) SyntaxError: 位置 0 の JSON で予期しないトークン < が発生しました。
-
[解決済み】document.getElementByIDは関数ではありません。
-
[解決済み】ある要素が可視DOMに存在するかどうかを確認するにはどうすればいいですか?
-
[解決済み】JavaScript ランタイムエラー:'$'が未定義です。
-
[解決済み】npm install --legacy-peer-deps は具体的に何をするのですか?どんなときに推奨されるのか/どんな使用例が考えられるのか?
-
[解決済み】TypeError:res.jsonは関数ではありません。
-
[解決済み】'useState' が定義されていない no-undef React
-
[解決済み】Uncaught TypeError: 未定義のプロパティ 'msie' を読み取れない - jQuery tools
-
[解決済み】module.exports "モジュールが定義されていません"
-
[解決済み】送信者以外の全てのクライアントにレスポンスを送信する。