私はチャットアプリケーションを作成していますが、実際にプライベートメッセージングとチャネルメッセージング、つまりグループメッセージングを実装しています。私は、ユーザーが接続するときに各ユーザーにルームIDを持つ部屋を割り当てているアプローチを採用しました。さらに、私は部屋に基づいてメッセージを発信しています。私が知りたいことは、これが悪い習慣であるかどうかです。はいの場合、どうですか?ありがとうございました。各ユーザーIDのソケットルーム?
0
A
答えて
1
あなたのソケットを部屋に分割することは悪いことではありません。 Socket.io自体はrooms and namespaceの機能を提供しており、最新バージョンではこの使用方法がますます重視されています。
とにかく、詳細を知るように、ネイティブのjavascript Websocketオブジェクトを使用することをお勧めします。コードのパフォーマンスとコントロールが向上します。 socket.ioを使用する理由は、時間の経過とともにあまり関連性がなくなります(IE8、フラッシュ、httpポーリング...)。
部屋を使用しているのは、クライアントソケットを分割するだけです。オブジェクト内の配列にインデックスを付けることで、これを行うことができます。
NodeJSについては、wsとします。
0
明らかに、問題で使用されている技術は悪い習慣とはみなされません。多くの人がこの技術を使い始め、部屋を利用しています。しかし、ユーザーIDの代わりに、ユーザー名または電子メールをソケットとして割り当てられた各ユーザーの目的に使用することができます。これは、クライアント側でIDを取得することは好ましくないからです。
関連する問題
- 1. Androidの各ユーザーの一意のID
- 2. 各ID
- 3. 各IDのグループID別
- 4. Postgresqlの各ID
- 5. 各ユーザーの(異なる)日付範囲間の訪問ID
- 6. セッションIDは何ですか? phpのセッションIDは、各ユーザーまたは各ブラウザにassされています
- 7. 各要素のユーザーIDを抽出する方法
- 8. アクションIDでグループ化された各ユーザーのアクション数を表示
- 9. 各ユーザー
- 10. 各IDについてハイブ内の各IDのためにSQL
- 11. SQL:各ID
- 12. Parse.com REST API - 各インストールにユーザーIDを割り当てる方法
- 13. idが#のユーザーは、IDが#
- 14. LinuxのユーザーIDとグループID
- 15. SQLクエリは、各ID
- 16. ViewPagerの各ImageViewのID
- 17. CognitoのユーザーID
- 18. ユーザーIDのクリア
- 19. androidのSocket.IO-clientでソケットルームやチャンネルに参加する方法
- 20. PHP内の各ユーザーのカスタムリンク
- 21. MYSQL select文 - 各ユーザー
- 22. REST - ユーザーIDの送信とプリンシパルからのユーザーIDの受信
- 23. firebaseユーザーIDの下
- 24. Firebase AnalyticsのユーザーID
- 25. GoogleタグマネージャーのユーザーID
- 26. Google BigQuery - 各ユーザーのカスタムクォータ
- 27. 各ユーザーのユニークな色
- 28. 各IDごとにローリングサムウインドウ
- 29. ユニークなユーザーID
- 30. Google Analytics - ユーザーID
ありがとうございます。私は間違いなくWebソケットを調べます。私は完全にではなく、それについて読んだ。私のプロジェクトはMean Stackにありますので、ほとんどの人がsocket ioをお勧めしました。実装中にいくつかの問題も見てきました。さらに、ドキュメンテーションも不足しています。私がソケットを使用したのは初めてだったかもしれません。私はプロジェクトに追加するいくつかの機能があります。あなたはウェブソケットがより良い方法を強調できますか?現在のものの代わりに使用すれば、どのような柔軟性が得られますか? –
また、私はあなたが言及した他のアプローチを選択しました。つまり、ソケットIDを配列に保存してそれらに送信しますが、それは未熟で複雑なアプローチのようでした。クライアントが切断されたときにも、そのアプローチに関する問題について読んでいます。 –
Socket.ioは、クライアントと互換性があるたびにネイティブwebsocketを使用します。これは単なる追加層であり、それほど有用ではない。私は個人的にチームの反応が少なく、プロジェクトがゆっくりと死ぬと思う。このような状況では、ネイティブ機能を選択することは明らかです。あなたが困難に遭遇した場合、それは不安定な図書館のためではありません。メッセージを送信するアプローチに関しては、socket.ioがシーンの背後で何をしているのかを正確に知ることができます。ソケットをソケットに保存してそれらに放出します。私は見る。 –