L'un des avantages du langage Java est que les programmes Java peuvent accéder aux ressources du réseau. Java fournit une série de classes pour prendre en charge les programmes Java dans l'accès aux ressources réseau.
Protocole TCP/IP et adresse IP
Pour communiquer sur Internet, les deux parties communicantes doivent se conformer au protocole de communication. Le protocole le plus utilisé actuellement est le protocole TCP/IP, qui est un protocole public suivi par toutes les parties sur Internet TCP (Transport Control Protocol). ) est un protocole de contrôle de transmission et IP ( Internet Protocol) est un protocole Internet et TCP/IP représente ces deux protocoles.
TCP/IP est divisé en quatre niveaux :
Le protocole TCP traite toute transmission d'informations réseau comme un flux d'informations. Par exemple, si un long message est envoyé de la machine A à la machine B, l'expéditeur A doit fragmenter les données, les regrouper et envoyer chaque élément de données séparément. Le paquet de données comporte un en-tête qui indique où le paquet de données est envoyé et la position des données dans la séquence de réception. Chaque paquet est transmis d'une machine à une autre machine ou d'un nœud de réseau à un autre nœud de réseau selon la destination fournie par l'adresse IP. A la réception B, ces paquets de données peuvent être réassemblés dans le bon ordre.
Le protocole TCP/IP est une suite de protocoles, constituée d'un ensemble de protocoles, comprenant principalement les protocoles plus spécifiques suivants :
Telnet (connexion à distance) : permet à un utilisateur d'ordinateur de se connecter à un autre ordinateur distant, effectuant des opérations à distance comme s'il opérait sur l'ordinateur local.
FTP (File Transfer protocol) : permet aux utilisateurs de copier des fichiers d'un hôte distant vers leur propre ordinateur.
SMTP (simple Mail Transfer Protocol) : utilisé pour transférer des e-mails.
NFS (Network file Server) : permet à plusieurs ordinateurs d'accéder de manière transparente aux répertoires de chacun.
HTTP : protocole de transfert hypertexte basé sur le protocole TCP/IP et qui constitue le protocole de communication de la couche application entre le navigateur WWW et le serveur. HTTP est un protocole général, sans état et orienté objet. La session HTTP (transaction) comprend quatre étapes : connexion, demande, réponse et fermeture.
Le langage Java peut écrire des applications réseau de bas niveau. Par exemple, transférer des fichiers, créer des contrôleurs de messagerie, traiter des données réseau, etc. Les protocoles Internet pris en charge par le langage Java incluent ftp, telnet, www, etc. Le logiciel qui prend en charge la communication réseau se trouve dans le package java.net, par exemple java.net.ftp, java.net.www, etc.
L'adresse IP est utilisée pour indiquer l'adresse d'un ordinateur sur Internet dans le réseau, en utilisant un code binaire de 32 bits pour représenter une adresse réseau. Les adresses sont divisées en cinq catégories : A, B, C, D et E. Les catégories les plus couramment utilisées sont A, B et C :
A (1.0.0.0-126.255.255.255) : numéro de réseau à 0,7 chiffres, les 24 derniers chiffres sont le numéro d'hôte ;
B (128.0.0.0-191.255.255.255) : numéro de réseau à 10 ou 14 chiffres, les 16 derniers chiffres sont le numéro d'hôte ;
C (192.0.0.0-223.255.255.255) : 110, numéro de réseau à 21 chiffres, les 8 derniers chiffres sont le numéro d'hôte ;
D (224.0.0.0-239.255.255.255) : 1110, numéro de groupe de multidiffusion 28 bits ;
E (240.0.0.0-254.255.255.255) : 1111, réservé à une utilisation test.
Habituellement, une adresse IP est représentée par un nombre décimal à quatre segments (un segment de 8 chiffres). Par exemple:
58.218.204.252
Ou représenté par un nom de domaine texte. Par exemple:
www.VeVB.COm
Sur Internet, le serveur de noms de domaine (DNS) effectue le mappage des noms littéraux vers des adresses réseau binaires.
Classe InetAddress
Il existe une définition de la classe InetAddress dans le package Java.net. Les objets de la classe InetAddress sont utilisés pour les adresses IP et les noms de domaine.
getByName(String s) : obtenez un objet de la classe InetAddress, qui contient l'adresse IP et le nom de domaine de l'hôte. L'objet représente les informations qu'il contient au format suivant : www.sina.com.cn/202.108.37.40 ;
String getHostName() : récupère le nom de domaine de l'objet InetAddress ;
String getHostAddress() : récupère l'adresse IP de l'objet InetAddress ;
getLocalHost() : obtenez un objet InetAddress, qui contient le nom de domaine et l'adresse IP de la machine locale.
[Exemple] Une application qui explique l'utilisation de la classe Inetaddress. Le programme montre comment obtenir le nom de domaine et l'adresse IP de www.weixueyuan.net.
Importer java.net.*;Class Exemple10_1{ Public static void main(String args[]){ Try{ //Le code suivant crée un objet InetAddress via le nom de domaine : InetAddress addr = InetAddress.getByname("www.VeVB.COm "); String domainName = addr.getHostName();//Obtenir le nom d'hôte String IPName = addr.getHostAddress();//Obtenir l'adresse IP System.out.println(domainName); System.out.println(IPName); }catch(UnknownHostException e){ e.printStackTrace();
Le résultat courant est :
www.VeVB.COm58.218.204.252