Top > Javaにおけるネットワークプログラミングの基本


java言語の基礎知識

lime.jpg

ご訪問ありがとうございます。Java言語の基礎知識や学習方法、およびその周辺ソフト・周辺技術についての解説しています。ジャバ言語を完全マスターして徹底活用する際のご参考にして下さい。






Javaにおけるネットワークプログラミングの基本

ネットワークプログラミングで最も基本的なものはソケットを使った通信プログラムです。ここではJavaによるソケット通信プログラムの基本的な書き方を紹介します。


ソケットとは、プログラム間でデータのやり取りをする通信路の端にあたるもので、通信路とプログラムをつなぐプラグのような役割をします。TCPをつかって通信するサーバ・クライアントプログラムはお互いの間で接続を確立するわけですが、ソケットとポート番号をあらかじめ結び付けておくことで、プログラムにとってはソケットにデータとホスト名、ポート番号を渡せば、あとは相手側のプログラムにデータが届く仕組みとなっています。


Javaでネットワークでデータ通信を行うプログラムを書く場合、java.netパッケージとしてJavaが提供するSocektクラス、またはServerSocketクラスを利用します。ソケットを通じてデータをやり取りする場合、


1.ソケットを開く(Socketのインスタンスの生成)
2.ソケットへの入出力ストリームを開く
3.プロトコルに応じてデータをストリームに書いたり読んだりする
4.ストリームを閉じる(ストリームのインスタンスメソッドclose())
5.ソケットを閉じる(Socketのインスタンスメソッドclose())


という順番で書くのが基本的な流れとなります。また、ソケットを開く際には、コンストラクタの引数としてホスト(またはIPアドレス)とポート番号を指定する必要があります。またストリームやソケットを閉じる際には必ずストリーム→ソケットの順でクローズを行わなければなりません。