Java 言語の利点の 1 つは、Java プログラムがネットワーク リソースにアクセスできることです。 Java は、ネットワーク リソースにアクセスする際の Java プログラムをサポートする一連のクラスを提供します。
TCP/IPプロトコルとIPアドレス
インターネット上で通信するには、通信する双方が通信プロトコルに準拠する必要があります。現在最も広く使用されているプロトコルは、インターネット内のすべての当事者が従うパブリック プロトコルである TCP/IP プロトコルです。 )は伝送制御プロトコル、IP(Internet Protocol)はインターネットプロトコルであり、TCP/IPはこれら2つのプロトコルを表します。
TCP/IP は 4 つのレベルに分かれています。
TCP プロトコルは、あらゆるネットワーク情報の送信を情報フローとして扱います。たとえば、長いメッセージがマシン A からマシン B に送信される場合、送信者 A はデータを断片化し、各データを個別にパッケージ化して送信する必要があります。データ パケットには、データ パケットの送信先と受信シーケンス内のデータの位置を示すヘッダーがあります。各パケットは、IP アドレスによって提供される宛先に従って、あるマシンから別のマシンに、またはあるネットワーク ノードから別のネットワーク ノードに送信されます。受信側 B では、これらのデータ パケットを正しい順序で再組み立てできます。
TCP/IP プロトコルは、主に次のより具体的なプロトコルを含む一連のプロトコルで構成されるプロトコル スイートです。
Telnet (リモート ログイン): コンピュータ ユーザーが別のリモート コンピュータにログインし、ローカル コンピュータ上で操作しているかのようにリモート操作を行うことができます。
FTP (ファイル転送プロトコル): ユーザーがリモート ホスト上のファイルを自分のコンピュータにコピーできるようにします。
SMTP (簡易メール転送プロトコル): 電子メールの転送に使用されます。
NFS (ネットワーク ファイル サーバー): 複数のコンピュータが相互のディレクトリに透過的にアクセスできるようにします。
HTTP: TCP/IP プロトコルに基づくハイパーテキスト転送プロトコルであり、WWW ブラウザとサーバー間のアプリケーション層通信プロトコルです。 HTTP は、汎用のステートレスなオブジェクト指向プロトコルです。 HTTP セッション (トランザクション) は、接続、要求、応答、クローズの 4 つのステップで構成されます。
Java 言語は、低レベルのネットワーク アプリケーションを作成できます。たとえば、ファイルの転送、メール コントローラーの構築、ネットワーク データの処理などです。 Java 言語でサポートされるインターネット プロトコルには、ftp、telnet、www などが含まれます。ネットワーク通信をサポートするソフトウェアは、java.net.ftp、java.net.www などの java.net パッケージに含まれています。
IP アドレスは、ネットワーク アドレスを表す 32 ビット バイナリ コードを使用して、ネットワーク内のインターネット上のコンピュータのアドレスを示すために使用されます。アドレスは、A、B、C、D、E の 5 つのカテゴリに分類されます。最も一般的に使用されるカテゴリは、A、B、および C です。
A (1.0.0.0-126.255.255.255): 0.7 桁のネットワーク番号、最後の 24 桁はホスト番号です。
B (128.0.0.0-191.255.255.255): 10、14 桁のネットワーク番号、最後の 16 桁はホスト番号です。
C (192.0.0.0-223.255.255.255): 110、21 桁のネットワーク番号、最後の 8 桁はホスト番号です。
D (224.0.0.0-239.255.255.255): 1110、28 ビットのマルチキャスト グループ番号。
E (240.0.0.0-254.255.255.255): 1111、テスト用に予約されています。
通常、IP アドレスは 4 セグメントの 10 進数 (1 セグメントは 8 桁) で表されます。例えば:
58.218.204.252
またはテキストドメイン名で表されます。例えば:
www.VeVB.COM
インターネット上では、ドメイン ネーム サーバー (DNS) がリテラル名をバイナリ ネットワーク アドレスにマッピングします。
InetAddressクラス
Java.net パッケージには InetAddress クラスの定義があり、InetAddress クラスのオブジェクトは IP アドレスとドメイン名に使用されます。このクラスは次のメソッドを提供します。
getByName(String s): ホストの IP アドレスとドメイン名を含む InetAddress クラスのオブジェクトを取得します。このオブジェクトは、次の形式で含まれる情報を表します。
String getHostName(): InetAddress オブジェクトのドメイン名を取得します。
String getHostAddress(): InetAddress オブジェクトの IP アドレスを取得します。
getLocalHost(): ローカル マシンのドメイン名と IP アドレスを含む InetAddress オブジェクトを取得します。
【例】Inetaddressクラスの使い方を説明するアプリケーション。このプログラムは、www.weixueyuan.net のドメイン名と IP アドレスを取得する方法を示します。
Import java.net.*;Class Example10_1{ Public static void main(String args[]){ Try{ //次のコードは、ドメイン名を使用して InetAddress オブジェクトを作成します。 InetAddress addr = InetAddress.getByname("www.VeVB.COm) "); String domainName = addr.getHostName();//ホスト名を取得 String IPName = addr.getHostAddress(); //IP アドレスを取得します。 System.out.println(domainName); System.out.println(IPName); }catch(UnknownHostException e){ e.printStackTrace();
実行結果は次のとおりです。
www.VeVB.COm58.218.204.252