Previous | Next | Trail Map | Custom Networking and Security | 目次


ソケットについて

インターネット上の資源をアクセスするという特定の目的のために、比較的高いレベ ルでネットワークを通じて通信するときは、URL と URLConnection を使用する。一 方、クライアントサーバアプリケーションを作成する場合のように、比較的低いレベルのネ ットワーク通信が必要な場合もある。

クライアントサーバアプリケーションでは、サーバはデータベース照会の処理や現在 の株価の送信など何らかのサービスを行う。クライアントはサーバが末端部に対して 提供するサービスを使用し、データベース照会の結果をユーザに表示したり、株購入 を投資家に推奨したりするのである。クライアントとサーバの間で行われる通信は信 頼性の高いものでなければならない。つまり、データが抜け落ちてはならないし、サ ーバが送信した順序どおりにデータがクライアント側に届かなければならない。

TCP は信頼性の高い、二地点間の通信チャンネルを提供する。インターネット上のク ライアントサーバアプリケーションはこれを使って通信する。 java.net の Socket および ServerSocket クラスは、TCP を使用した、システムに 依存しない通信チャネルを提供するものである。

ソケットとは何か?

ソケットとは、ネットワーク上で動作する 2 つのプログラムを結ぶ双方向通信リン クの片方の末端部のことである。 Socket クラスは、クライアントプログラムとサーバプログラムの間のコネクション を表すときに使用される。java.net パッケージは、コネクションのクライアント側 とサーバ側をそれぞれ実装する、Socket および ServerSocket の 2 つのクラスを用意してい る。

ソケットを読み書きする

このページでは、クライアントプログラムがどのようにソケットを読み書きするのか を、簡単な例を通して説明する。

ソケットのサーバ側を書く

前のページでは、Socket オブジェクトを介して既存のサーバと対話を行うクライア ントプログラムの書き方を例示した。このページでは、コネクションのもう一方の側 を実装するプログラム、いわゆるサーバプログラムの書き方について説明する。


Previous | Next | Trail Map | Custom Networking and Security | 目次