2. ソケット
ネットワークプログラミング 2章 ソケット
この節ではソケットを利用した通信プログラムを学びます。まずソケットとは何であるかを説明し、そのあとプログラムを通してクライアントアプリケーションでのソケットの利用方法を説明します。 2.1. ソケットソケットはTCPやUDPなどの通信の終端です。TCPやUDPの通信は必ず両端がソケットで終端されています。ソケットは、コンピュータの特定のポート番号と関連づけられます。ポート番号で識別できるため、一台のホストで複数のソケットを同時に取り扱うことが可能です。アプリケーションプログラムの通信処理は、ソケットに対して読み書きすることで実現されます。 ![]() ソケットを表現するクラスには次の4つが用意されています。これらのクラスはすべてjava.netパッケージに含まれています。IP通信を行うためのクラスの多くはjava.netパッケージに含まれます。
2.2. InetAddressクラスInetAddressはIPアドレスを取り扱うためのクラスです。IPアドレスはIPv4とIPv6でデータの長さや表現方法が異なるため、それぞれInetAddressのサブクラスであるInet4AddressとInet6Addressで表現されます。 InetAddressのインスタンスを新しく生成するには、通常はコンストラクタは用いません。次のようなInetAddressクラスのstaticメソッドを利用して生成します。
InetAddressは、ホスト名またはIPアドレス(もしくはその両方)を指定して作成することができます。addressにはIPアドレスのバイト配列を指定し、nameにはホスト名を指定します。nameにはIPアドレスの文字列表現を指定することもできます。例えば、次の二つの文は全く同じ結果を返します(211はbyte型の範囲(-128〜127)を超えているためキャストしています) 。
|
![]()
![]()
|