クライアントごとに大量の情報を受け取っていますが、その処理方法がわかりません。1 つのポートに多数の接続を確立しても機能しますか? 現在、1 つのクライアントのみで 1000 個のポートを使用しています。私は変わりますか?
2 に答える
複数のクライアントが同じリッスン ポートに接続できるため、ほとんどの場合、1 つのポートを開くだけで済みます (ftp などの一部のプロトコルは複数のポートを使用します)。接続を一意に識別するのは、クライアント IP/ポートとサーバー IP/ポートの組み合わせであるため、問題なく機能します。サーバーが一度に複数のクライアントにサービスを提供できるようにするには、複数のプログラミング モデルを使用できます。
通常、1 つのアプリケーションまたはアプリケーションの 1 つの主要部分には、独自のポートが必要です。ポートに接続するクライアントごとに、プロセスを生成/スレッドを作成してサービスを提供します。サービスが完了し、応答が返された後、接続が永続的でない場合は、接続を閉じます。結局のところ、PC で (理論的には) 65535 個のポートしか開くことができず、それらのすべてがプライベート (非システム) アプリケーションでも使用できるわけではありません。そのため、アプリケーション/主要なアプリケーション機能用に 1 つのポートを用意することをお勧めします。たとえば、データベース管理システム (DB2 など) は、ポートあたり 64000 接続の (理論上の) 最大制限を持つことができます。 http://pic.dhe.ibm.com/infocenter/pim/v6r0m0/index.jsp?topic=%2Fcom.ibm.wpc.adm.doc%2Fdata_admin%2Fwpc_con_managedb2connections.html