私はチャットサーバと現在、私の設計は、次の基づいているベースのJavaを書いています: - チャットルームにいる人は、メッセージを送信し、サーバ側のチャットルームのクラスは、すべてに同じメッセージを送信するとき参加者は部屋の中をループします。明らかに、これは、ループが個々の参加者にネットワーク通話が行われているため、貧弱な設計です。したがって、たとえば、チャットルームに10人いるとします。 1人のユーザーがメッセージを送信すると、chatroomクラスはループ内で同じメッセージを10人全員に送信します。言い換えれば、ループの第5人が冗談な接続をしている場合、第6 ..第10人がメッセージを見る時間が影響を受けます。Javaのチャットサーバー
私は部屋ごとにマルチキャスト、ユニキャストから移動した場合、その後、どのように私はチャットルームあたりのプライベートマルチキャストグループのIPを得るのですか?また、チャットルームごとに個別のグループを持つことは過度のようです。 主な問題の1つは、ループを介して部屋のユーザーに返信したときに、ソケット接続でデータを送信したメソッドがブロックされていたことです。したがって、私は非ブロックNIOソケットを使用し、受信者にループでメッセージを送信すると思っているが、それは問題を解決するだろうか? 部屋の受信者にデータを送信するのを最適化するために他にも巧妙なやり方がありますか?
人が読めるように段落に分割してみてください。 – cdmckay