Java pour l'informatique industrielle
Chapitre 1. Introduction aux objets
Chapitre 2. Les structures de contrôle
Chapitre 3. Unifier et réutiliser
Chapitre 4. Modèle, Vue et Contrôle
Chapitre 5. Les entrées/sorties
5.1. Les tableaux
5.2. Les flots de caractères
5.3. Les flots d'octets
5.4. Le paquetage java.io
5.5. Java autonome
5.6. Les sockets
5.6.1. Adresse IP et port
5.6.2. Le côté serveur
5.6.3. Le côté client
5.6.4. Exemple
Page d'accueilTable des matièresNiveau supérieurPage précédenteBas de la pagePage suivante

5.6.1. Adresse IP et port

Sur un réseau, chaque terminal est associé à une adresse réseau unique. Pour internet, on l'appelle adresse IP.
Exemple sur IPv4 (32 bits), 127.0.0.1 = localhost.

Une socket est associée à l'adresse de son hôte. On peut ouvrir plusieurs sockets sur le même hôte (une pour le web, une pour le transfert de fichier, etc.), le numéro port permet de les différencier, c'est un entier entre 0 et 65535.

Certains numéros de port sont réservés pour des protocoles particuliers (HTTP:80, SSH:22, FTP:21)

La classe java.net.InetAddress modélise les adresses IP. Elle offre trois méthodes statiques pour accéder à l'adresse de l'hôte local, pour obtenir l'adresse à partir des quatre octets qui la compose et pour obtenir l'adresse à partir du nom déclaré.

Hôte local
L'adresse de l'hôte local, généralement 127.0.0.1, est utile pour effectuer des tests ou vérifier que le système est bien configuré.
InetAddress addr = InetAddress.getLocalHost();
Par nom
Dans la majorité des cas, on utilise la résolution par nom, qui utilise le serveur DNS configuré sur la machine, mais de façon totalement transparente pour l'utilisateur.
InetAddress addr = InetAddress.getByName("www.unice.fr");
Par adresse
Enfin, on peut aussi donner directement l'adresse sous la forme d'un tableau d'octets, quatre octets pour IPv4.
byte[] ip = {127,0,0,1}; InetAddress addr = InetAddress.getByName(ip);

Page d'accueilTable des matièresNiveau supérieurPage précédenteHaut de la pagePage suivante