C / Sに基づくネットワークアプリケーションを開発しています。このアプリケーションでは、サーバーがファイルをクライアントに転送し、場合によってはクライアントからファイルを受信する必要があります。したがって、サーバーアプリケーションでは、すべてのクライアントに対して、制御ソケットと多くの転送ソケットを作成する必要があります。
私の質問は、制御ソケットまたは転送ソケットの役割としてソケットを作成および定義する方法です。(以下は削除されています:そして、サーバーアプリケーションはどのようにして制御ソケットと転送ソケットを区別できますか?)現在、サーバーはリスニングソケットを使用しており、accept(listening socket)によって確立されたすべての新しい接続について、それらを均等に配列に格納し、最終的にクライアントがそれらを制御ソケットまたは転送ソケットとしてサーバーに登録できるようにします(ファイルを転送する前のことを意味します) 、クライアントは、制御ソケットとして使用するソケットと、転送ソケットとして使用するソケットを指定する必要があります)。
これは、サーバーアプリケーションとクライアント間で制御ソケットと転送ソケットを作成するための良いパターンではないと思います。それで、この種の問題に適した他のパターンはありますか?