N人(たとえば約5人)のユーザーがTCPソケットを介してWebサービスに接続するのを待つWebアプリケーションを開発しています。サーバーは接続されているソケットの数を追跡し、Nに達すると、(最大2MBの)(単一の)ファイルをすべてのソケットに同時に送信します。ここではタイミングに重点が置かれています。ファイルを次々に受信するのではなく、すべて同時に受信する必要があります。
C#とソケットプログラミングの初心者として、この場合の最善のアプローチを知りたいですか?私は次のことを考えました:サーバーは(非同期で)ソケット接続を受信し、Nに達すると、ファイル内のすべてのバイトをループし、反復ごとに1キロバイト(またはそれ以下?)を各クライアントに送信します接続-これは、私の意見では、ファイルを同時に送信するための最も近い方法です。
これを実装する方法について少し混乱しています。どんな助けでも素晴らしいでしょう。ありがとう
編集:同時に受信することで、技術的には、サーバーがファイルを最初のクライアントに送信し、次に2番目に送信し、次に3番目に送信するのではなく、一度にすべてのクライアントに送信することを意味しました、サーバーの外に出ると、私の手に負えなくなります!ネットワークの問題がなく、クライアントがすべて(物理的に)非常に近いと仮定すると、クライアントは多かれ少なかれ同時にファイルを受信する必要があります。多分解決策は私が思っていたよりも簡単です...