ソケットについて |
サーバアプリケーションは通常、クライアントからのコネクション要求を待っている 特定のポートを監視する。 コネクション要求が到着すると、クライアントとサーバは専用のコネクションを確立 し、それを通して通信できるようになる。コネクション処理の間、クライアントはロ ーカルポート番号が割り当てられ、それにソケット を結びつける。クライ アントはソケットへの書き込みを通してサーバに情報を渡し、ソケットからの読み取 りを通してサーバから情報を受け取る。同様に、サーバは新規のローカルポート番号 を獲得する (元のポートでコネクション要求を引き続き監視できるよう、新たなポー ト番号が必要なのである)。サーバも、そのローカルポートにソケットを結びつけ、 ソケットへの読み書きを通してクライアントと通信する。
クライアントとサーバーのプロトコルは一致していなければならない。つまり、ソケ ットを通して転送し合う情報の言語が一致していなければならない。
定義: ソケットとは、ネットワーク上で動作している 2 つのプログラムを結ぶ双方向通信 リンクの一方の末端部である。
Java 開発環境の java.net パッケージは、Java プログラムとネットワーク上の別の プログラムを結ぶ双方向コネクションの一方の末端部を表す Socket クラスを用意し ている。Socket クラスは双方向リンクのクライアント側を実装する。サーバソフト ウェアを作成している場合は、双方向リンクのサーバ側を実装する ServerSocket ク ラスも関わってくる。このレッスンでは、Socket および ServerSocket クラスの使 用法について説明する。
World Wide Web に接続しようとしている場合は、URL クラスとその関連クラス (URLConnection、URLEncoder) の方が、ソケットクラスよりも処理内容に適合するこ とが多い。実際、URL は比較的高いレベルの Web へのコネクションであり、基礎と なる実装の一部にソケットを利用している。URL を介した Web への接続については 、URL を扱うを参照する。
参照
ソケットについて |