コンピュータネットワークプログラミングとは
コンピュータネットワークプログラミングは、ネットワーク通信を使用して動作できるプログラムを作成するプロセスを示します。 この方法を使用して作成されたプログラム(基本的に、他のネットワークプログラムを操作する必要があるプログラム)は、分散システムと呼ばれます。 これらのプログラムは、基本的に3つのカテゴリに分類されます。接続、非接続、またはピアツーピアです。 これらのカテゴリは、広い意味で、プログラムがネットワーク接続を使用する方法と、相手側のプログラムとの関係を説明します。
コンピュータネットワークプログラミングについて話すとき、「ネットワーク」という用語は非常に広範です。 1人の人が接続されたシステム間でアクセスを共有するローカルイントラネットから、システムが数千マイル離れている可能性のある完全なインターネットアクセスまで、すべてをカバーしています。 プログラムの目的、場所、または距離に関係なく、それらはすべて、正しく動作するために異なる場所に複数のピースを必要とします。
これらのプログラムを説明するために使用される一般的な用語は「分散システム」です。 これは基本的に、プログラムの個々の部分が複数の場所に配布されたことを意味します。 このプログラムは単一のシステムのように機能しますが、それらのシステムを相互作用させるにはネットワークが必要です。
一般に、コンピュータネットワークプログラミングは3つのカテゴリに分類されます。 接続されたシステムでは、2つ以上のシステムが機能するために常に通信する必要があります。 これらは多くの場合、クライアント/サーバーの関係であり、多くの単一クライアントがすべて1つの大きなサーバーに接続します。 これらの場合、一般にかなりの量の不平等があります。通常、接続されたシステムの半分は、他の半分よりもはるかに重要であるか、より多くの機能を備えています。
接続されていないコンピューターネットワークプログラミングは、互いに通信する必要があるが、独立して動作するシステムを作成します。 このモデルには多くのアプリケーションがありますが、現在の一般的な使用法は認証サーバーです。 このセットアップでは、プログラムは1つの場所で完全で完全ですが、別のプログラムから指示されない限り動作しません。 ユーザーがプログラムを使用しようとすると、認証サーバーに許可を照会し、サーバーが応答します。 サーバー上の情報はプログラムには不要ですが、通信できない限り機能しません。
3番目のタイプのコンピューターネットワークプログラミングは、ピアツーピアです。 このスタイルでは、プログラムはクライアントとサーバーの両方であり、同時に情報を送受信します。 これらのプログラムは通常、同じタイプの他のプログラムに接続し、数千ではないにしても数百の独立したシステムで構成されるクローズドシステムを作成します。 個々のプログラムは基本的に同じであるため、これは一般にコンピューターネットワークプログラミングスタイルの中で最もバランスが取れています。