Introduction au package java.net

Sommaire du document

Le package java.net nous fournit un ensemble de classes qui nous permettent d'utiliser les protocoles Internet.

Comment accéder aux ressources dans le cadre d'applications Client/Serveur ? C'est par le biais des URL que les ressources sont localisées sur le Web (pour être plus complet, l'URL est envoyée à un DNS qui la traduit en adresse IP, et les ressources sont en réalité accédées par leur adresse IP).

Le langage Java nous aide en nous proposant différentes classes :

  • InetAddress
  • URL
  • URLConnection
  • HttpURLConnection
  • URLEncoder
  • URLDecoder
  • Socket
  • ServerSocket
  • ...

 

java.net.InetAddress

La classe java.net.InetAddress représente une adresse Internet. Elle supporte les adresses IP numériques et les noms d'hôtes. La classe InetAddress possède des méthodes statiques qui permettent la manipulation des adresses Internet :

  • InetAddress getLocalHost() nous retourne l'adresse Internet de la machine locale.
  • InetAddress getByName(String host) nous retourne une adresse Internet en fonction d'un nom d'hôte.
  • InetAddress[] getAllByName(String host) nous retourne un tableau d'adresses Internet en fonction d'un nom d'hôte.
  • String getHostAddress() nous retourne une adresse IP numérique sous la forme d'une chaîne de caractères dans laquelle les 4 octets de l'adresse sont séparés par des points.
  • String getHostName() nous retourne le nom d'hôte ou le nom du serveur pour une adresse
  • boolean isMulticastAddress() nous retourne un booléen qui indique si l'adresse est de type multicast.
  • les méthodes boolean equals(Object obj), int hashCode(), et String toString() surchargent (“override”) celles de la classe Object.

 

java.net.URL

Qu'est-ce qu'une URL ?

Angl : Uniform Resource Locator.

Adresse Internet exploitée par les navigateurs. C'est l'adressage standard de n'importe quel document, sur n'importe quel ordinateur en local ou sur Internet.

Structure de base d'une URL :

protocole://serveur/répertoire/document.extension


Exemple : http://www.gaudry.be:80/infobrol.php ;-)

La structure d'une URL dépend en outre du protocole employé.
URL et protocole HTTP :
http://‹serveur›:‹port›/‹chemin›?‹paramètre1›=‹valeur1›&‹paramètre2›=‹valeur2›

URL et protocole FTP :
ftp://‹utilisateur›:‹mot de passe›@‹serveur›:‹port›/‹chemin›

URL et e-mail :
mailto:‹adresse email›

URL et fichier local :
file:///‹serveur›/‹chemin›

La classe java.net.URL

La classe java.net.URL permet de travailler sur la validité syntaxique d'une URL. Nous devons cependant être attentifs au fait que la classe URL ne nous aide pas à vérifier la présence ou l'absence de la ressource vers laquelle elle pointe.

Certains constructeurs de URL peuvent lancer des exceptions de type MalformedURLException si aucun protocole valide n'est trouvé, ou si la chaîne de caractères ne peut être analysée (“parced” selon les règles de syntaxe d'une URL.

La classe URL nous fournit un ensemble de méthodes de traitement d'une URL :

  • possibilités d'accès aux éléments d'une URL :
    • String getProtocol()
    • String getHost()
    • int getPort()
    • String getFile()
    • String getRef()
  • lecture d'un objet Web pointé par une URL :

    • Object getContent()
    • InputStream openStream()
  • conversion d'une URL en chaîne de caractères pour l'affichage ou l'impression :
    • String toExternalForm()
    • String toString()
  • comparaison des URL :
    • boolean equals(Object obj)
  • comparaison des objets Web pointés par des URL :
    • boolean sameFile(URL other)
  • création d'un objet URLConnection :
    • URLConnection openConnection()

 

java.net.URLConnection

La classe URLConnection est une classe abstraite qui permet d'obtenir un flux de données par une connection vers une ressource pointée par une URL.

 

java.net.HttpURLConnection

La classe HttpURLConnection est une sous-classe de URLConnection qui nous fournit un accès direct aux paramètres HTTP impliqués dans une connexion de type Client/Serveur. Chaque instance de HttpURLConnection peut être utilisée pour effectuer une simple requête, mais la représentation sous-jascente de la connexion réseau au serveur HTTP peut être partagée de manière transparente pour d'autres instances.

 

java.net.URLEncoder

La classe URLEncoder est une simple classe qui nous fournit deux méthodes statiques :

  • String encode(String s), méthode obsolète (“deprecated”).
  • String encode(String s, String enc)pour encoder la chaîne de caractères s en utilisant l'encodage enc.

Le plus souvent, les données proviennent d'un formulaire rempli par les données du côté client, et envoyées à un script qui est exécuté du côté serveur.

Le format d'encodage MIME de type application/x-www-form-urlencoded se présente de cette manière : nom1=valeur1&nom2=valeur2.

Les espaces sont remplacés par le signe plus (+) et les caractères spéciaux sont remplacés par le pourcent (%) suivi du code du caractère. Le code du caractère est la représentation hexadécimale de sa valeur sur 8bits.

L'encodage recommandé est UTF-8, mais pour des raisons de compatibilités, si l'encodage n'est pas spécifié, l'encodage par défaut de la plateforme est utilisé.

 

java.net.URLDecoder

La classe URLDecoder est une simple classe qui nous fournit deux méthodes statiques :

  • String decode(String s), méthode obsolète (“deprecated”).
  • String decode(String s, String enc)pour encoder la chaîne de caractères s en utilisant l'encodage enc.

 

java.net.Socket

  • Dans Internet, combinaison de l’adresse IP et de l’adresse du port qui permet de définir la destination du trafic de réseau transmis depuis le programme d’application (client).
  • Interface de programmation permettant les communications entre Unix et un réseau basé sur les protocoles définis par TCP-IP. Placées sur les protocoles de réseau SNA, les sockets permettent à des applications conçues initialement pour TCP-IP d’utiliser les protocoles d’IBM.

La classe Socket nous permet des communications, basées sur le protocole TCP, entre deux machines distantes. Nous pouvons employer les sockets pour développer des logiciels qui utilisent des services fournis par des serveurs d'applications orientées connexion.

La classe Socket nous propose huit constructeurs, dont deux sont obsolètes (pour ces deux constructeurs, nous préférerons utiliser des constructeurs DatagramSocket), pour créer des sockets et éventuellement les connecter à un hôte de destination et un port.

 

java.net.ServerSocket

La classe ServerSocket implémente un serveur socket TCP, et est utilisée pour créer un socket du coté serveur. Elle fournit 4 constructeurs spécifiant :

  • un port pour lequel le serveur écoute les requêtes entrantes (optionnel).
  • un nombre maximum de demandes de connexions en attente (optionnel).
  • une adresse Internet (optionnel).

La méthode public Socket accept() est utilisée pour renvoyer un socket une fois la connexion établie.

 

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

12 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Notes

  1. a,b,c,d,e,f,g,h,i,j,k Uniform Resource Locator : correspond à « localisateur uniforme de ressource” en français

  2. a,b,c,d,e,f,g,h,i,j,k URL : “Uniform Resource Locator” (en français, « localisateur uniforme de ressource »)

  3.  Domain Name System : correspond à « système de noms de domaine” en français

  4.  DNS : “Domain Name System” (en français, « système de noms de domaine »)

  5. a,b Internet Protocol : correspond à « protocole Internet” en français

  6. a,b IP : “Internet Protocol” (en français, « protocole Internet »)

  7.  Hypertext Transfer Protocol : correspond à « protocole de transfert hypertexte” en français

  8.  HTTP : “Hypertext Transfer Protocol” (en français, « protocole de transfert hypertexte »)

  9.  Transmission Control Protocol : correspond à « protocole de contrôle de transmission” en français

  10.  TCP : “Transmission Control Protocol” (en français, « protocole de contrôle de transmission »)

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-479
Document créé le 21/10/05 00:00, dernière modification le Vendredi 17 Juin 2011, 12:12
Source du document imprimé : http:///www.gaudry.be/java-net.html
St.Gaudry©07.01.02
 
l'infobrol
Nous sommes le Mercredi 18 Octobre 2017, 00:14, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)