ホームページ >Java >&#&チュートリアル >Java ソケット プログラミング (パート 1)(1)

Java ソケット プログラミング (パート 1)(1)

黄舟
黄舟オリジナル
2016-12-23 16:19:321832ブラウズ

Java を使用してネットワーク ソフトウェアを開発するのは非常に便利で強力です。Java のこの能力は、ネットワーク用の強力な API の独自のセットから得られます。これらの API はすべて java.net および javax パッケージにあります。ネット。この記事では、ソケット (ソケット) の概念を紹介し、ネットワーク API を使用してソケットを操作する方法を例を使用して説明します。この記事を完了すると、ローエンドのネットワーク通信ソフトウェアを作成できるようになります。
ソケットとは何ですか?
ネットワーク API は通常、Java プログラムが TCP/IP ネットワークに基づいて他のプログラムと通信するために使用されます。ネットワーク API は通信に Socket に依存します。ソケットは、2 つのプログラム間の通信接続のエンドポイントと見なすことができます。一方のプログラムが情報をソケットに書き込み、その情報を他のプログラムに送信できるように、ソケットはその情報を別のソケットに送信します。図 1 に示すように
図 1 を分析してみましょう。ホスト A 上のプログラム A がソケットに情報を書き込みます。ソケットのコンテンツはホスト A のネットワーク管理ソフトウェアによってアクセスされ、その情報はホスト A のネットワークを通じて送信されます。この情報を受信したホスト B のネットワーク インターフェイス カードは、この情報をホスト B のソケットに保存し、プログラム B はこの情報をソケット セグメント情報から読み取ることができます。
図 1 のネットワークに 3 番目のホストであるホスト C が追加されたとします。ホスト A は、情報がホスト C ではなくホスト B に正しく送信されたことをどのようにして知るのでしょうか? TCP/IP ベースのネットワーク内の各ホストには、一意の IP アドレスが割り当てられます。IP アドレスは 2 進数に変換されないため、通常は 198.163.227.6 のように小数点で区切られます。 , 表示されるすべての IP アドレスは 4 つの部分で構成されており、各部分の範囲は 0 ~ 255 で 8 ビット アドレスを表します。
IP アドレスはすべて 32 ビット アドレスであり、IP プロトコル バージョン 4 (Ipv4 と呼ばれます) で規定されています。現在、IPv4 アドレスはほぼ枯渇しているため、IPv4 アドレスは IPv6 アドレスに徐々に置き換えられています。は 128 ビットの符号なし整数です。
図 1 のネットワークのホスト B に 2 番目のプログラムが追加されたと仮定すると、ホスト A から送信された情報を、新しく追加されたプログラムではなくプログラム B に正しく渡すにはどうすればよいでしょうか?これは、TCP/IP ネットワーク通信に基づくすべてのプログラムに固有のポートとポート番号が割り当てられるためです。ポートは、ソケット内の入出力情報を保持するために使用される情報バッファーであり、ポート番号は 16 ビットの符号なし整数です。ホスト上の各プログラムを区別するための 0 ~ 65535 の範囲です (ポート番号は家の部屋番号のようなものです)。たとえば、pop3 のポート番号は 110 です。ソケットは IP アドレス、ポート、およびポート番号に結合され、全体で各ソケットを区別できるようになります。ストリーム ソケットと自己アドレス指定データの 2 種類のソケットについて説明します。
ストリームソケット
2つのネットワークアプリケーション間で情報を送受信するときは常に、ストリームソケットは情報が宛先に正しく到達することを保証するために信頼性の高い接続を確立する必要があります。いずれの場合も、受信側の TCP は送信側の TCP に連絡して IP パケットを再送信します。これは、2 つのストリーム ソケット間で信頼性の高い接続を確立することと呼ばれます。

上記は Java ソケット プログラミング (パート 1) (1) の内容です。さらに関連する内容については、PHP 中国語 Web サイト (www.php.cn) に注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。