サーバー/クライアント アーキテクチャに基づくチャット アプリケーションを作成しています。サーバーとクライアント間の通信は、TCP ベースのソケットです。このアプリケーションでは、さまざまなパブリック ルームを作成しています。任意の数のユーザーが任意のパブリック ルームに参加できます。
ここで、パブリックルームのユーザーが「XYZ」がルームにメッセージを送信すると、「XYZ」パブリックルームのすべての人にそのメッセージを配信する必要があります。
問題はここから始まります。パブリック ルーム「XYZ」に 1000 人のユーザーがいて、ユーザーがこのルームでメッセージを送信するたびに、このメッセージを送信して、999 人を for ループ内の対応するソケット記述子に 1 人ずつ休ませる必要があるとします。
これは私が知っている唯一の方法ですが、ユーザーが増えるとシステムのパフォーマンスが大幅に低下するため、これは良い方法ではないと思います。
同じことを達成する効率的な方法を提案して、これについて私を助けてください。
ありがとう。